一个.net的编译的批处理

来源:岁月联盟 编辑:exp 时间:2011-10-31

 

@echo off

set tt=.NET编译工具

color 3f

title %tt%

set err=

:begin

cls

echo        ╭══════════════════╮

echo        ║                  ║

echo    ╭═══┤           .NET编译工具!                                   ├═══╮

echo    ║   ║                  ║   ║

echo    ║   ╰══════════════════╯   ║

echo    ║                          ║

echo    ║   该工具将协助您编译您的.cs或.vb代码为.dll文件       ║

echo    ║                          ║

echo    ║   [1] 将.cs文件编译为.dll文件                      ║

echo    ║   [2] 将.vb文件编译为.dll文件                          ║

echo    ║   [Q] 退出                    ║

echo    ╰──────────────────────────╯

set choice=

set /p choice=    请选择要进行的操作(1/2/Q),然后按回车:

if not '%choice%'=='' set choice=%choice:~0,1%

if /i '%choice%'=='1' goto loopa

if /i '%choice%'=='2' goto loopb

if /i '%choice%'=='Q' exit

goto begin

:loopa

cls

echo 请输入要编译的.cs文件的完整路径,如:d:/work.cs,目录编译为:d:/*.cs

echo 如果该工具与.cs文件在同一目录可省去路径,如:work.cs,目录编译为:*.cs

set indir=

set /p indir=

if "%indir%"=="" goto loopa

:loopaa

cls

echo 您要编译的文件为:%indir%

echo 请输入要编译的.dll文件的完整路径,如:d:/Bin/work.dll

set outdir=

set /p outdir=

IF "%outdir%"=="" goto loopaa

@set cmddir=C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727

@cd/

@c:

@cd %cmddir%

csc /target:library /out:%outdir% %indir%

cls

echo 已完成。

set tmpa=

set /p tmpa=继续编译其它(Y)或退出(N)或返回(F)?

if /i '%tmpa%'=='Y' goto loopa

if /i '%tmpa%'=='F' goto begin

exit

@pause

 

:loopb

cls

echo 请输入要编译的.vb文件的完整路径,如:d:/work.vb,,目录编译为:d:/*.vb

echo 如果该工具与.vb文件在同一目录可省去路径,如:work.vb,,目录编译为:*.vb

set indir=

set /p indir=

IF "%indir%"=="" goto loopb

:loopbb

cls

echo 您要编译的文件为:%indir%

echo 请输入要编译的.dll文件的完整路径,如:d:/Bin/work.dll

set outdir=

set /p outdir=

IF "%outdir%"=="" goto loopaa

@set cmddir=C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727

@cd/

@c:

@cd %cmddir%

vbc /target:library /out:%outdir% %indir%

cls

echo 已完成。

set tmpb=

set /p tmpb=继续编译其它(Y)或退出(N)或返回(F)?

if /i '%tmpb%'=='Y' goto loopb

if /i '%tmpb%'=='F' goto begin

exit

@pause

 

作者 shaobotao