本帖最后由 老刘1号 于 2017-6-25 09:34 编辑
首先感谢PCL斑竹,是由他启发我才能开发出这个小工具
然后感谢论坛的各位大大,创造了这么好的交流、学习环境
————————————————————————
本工具将自动调用系统自带或安装的Net,无需其它程序辅助,一个批处理完成
支持窗口或直接拖放到批处理文件上编译
欢迎大家测试,提出意见和建议 - @Echo off
- Set 使用最新版本Net编译=False
- Set 使用当前系统位数对应的FrameWork版本编译=True
-
- Set 系统位数=&Set COMMAND=
- if /i "%使用最新版本Net编译%" NEQ "True" ^
- Set "COMMAND=&& GOTO :JumpOut"
- if /i "%使用当前系统位数对应的FrameWork版本编译%" EQU "True" ^
- Set 系统位数=%PROCESSOR_ARCHITECTURE:~-2%
-
- For /D %%a in (%systemroot%\Microsoft.NET\FrameWork%系统位数:86=%\v?.*) Do (
- rem 循环迭代,如果“使用最新版本编译”不为真,读取到第一个版本时就跳出。
- If Exist "%%~a\csc.exe" if Exist "%%~a\vbc.exe" Set "FrameWorkPath=%%~a" %Command%
- )
- :JumpOut
- Set "Path=%FrameWorkPath%;%Path%"
- if Exist "%~1" Call :处理 "%~1" & GOTO :Eof
- Echo 拖入文件,按回车编译。
- :LOOP
- Set /p FilePath=^>
- if Exist "%FilePath:"=%" Call :处理 "%FilePath:"=%"
- Goto :Loop
-
- :处理
- Set C#_Or_VB.NET=
- IF /i "%~x1" EQU ".CS" Set C#_Or_VB.NET=CSC
- IF /i "%~x1" EQU ".VB" Set C#_Or_VB.NET=VBC
- IF Not DEFINED C#_Or_VB.NET GOTO :Eof
- PUSHD "%~dp1"
- %C#_Or_VB.NET% -nologo "%~nx1"
- IF ERRORLEVEL 1 GOTO :Eof
- Echo RUNNING...
- "%~n1.EXE"
- Echo.&Echo Successed!
- POPD
- GOTO :Eof
复制代码
|