windows批处理总结

rem echo off 表示之后所有命令行不显示,但命令结果总是会显示的!!  不存在%ROOT_DIR% 、 %CUR_DIR%的变量
rem @表示命令行不显示当前行,但命令结果总是会显示的!! ___ 对后面的行没影响! 参考 http://www.cnblogs.com/sgsoft/archive/2010/09/12/1824275.htmlhttp://www.cnblogs.com/freewl/archive/2008/11/02/1324805.html
@rem asffsaf
@echo
echo off
echo %ROOT_DIR%
cd ../linuxSocket
echo this is %%cd%% %cd%
echo this is %%~dp0 %~dp0
echo %CUR_DIR% dir
IF not ERRORLEVEL goto aa1
IF ERRORLEVEL goto aa2
:aa1
echo
:aa2
echo @echo off
rem (应先判断数值最高的错误码)
  choice /c dme /m defrag,mem,end[Default:men]   if errorlevel goto defrag   if errorlevel goto mem   if errorlevel goto end   :defrag
dir echo copy xcp mkdir   C:\Users\LWX193~\Desktop\   goto end   :mem   mem   goto end   :end   echo good bye

一直有疑问的地方是 @ 的作用, echo off的作用, @echo off 这样的就更加糊涂了、、、

一些用法也老是忘记。。

errorlevel  
1 不区分大小写,
2 如果需要在echo引用的话,需要用%包起来:

C:\Users\lwx193682\Desktop\linuxSocket>echo errorlevel
errorlevel

C:\Users\lwx193682\Desktop\linuxSocket>echo %errorlevel%
1

如果在if中则不能再用%包起来,否则报错:

if errorlevel 0 echo 123      —— if errorlevel integer doSth 应该是一种语法,不可变更, windows会自动计算%errorlevel % , 如果变成%%errorlevel %%则出问题。。

%x% 应该有直接计算的意思吧

每个命令都有自己的errorlevel

上一篇:replace empty char with new string,unsafe method和native implementation的性能比较


下一篇:PMO究竟啥样?(3)