rem echo off 表示之后所有命令行不显示,但命令结果总是会显示的!! 不存在%ROOT_DIR% 、 %CUR_DIR%的变量
rem @表示命令行不显示当前行,但命令结果总是会显示的!! ___ 对后面的行没影响! 参考 http://www.cnblogs.com/sgsoft/archive/2010/09/12/1824275.html、 http://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