功能:查找指定目录下,包含后缀为*.gpsln的目录,并对整个目录进行rar动作。
@echo off
setlocal EnableDelayedExpansion
for /f "delims=" %%i in ('"dir /s /b /d D:\Prod_IDE\Bin.Net\Release\Example\6502\*.gpsln"') do (
echo %%~dpi
set aa=%%~dpi
set aa=!aa:~0,-1!
echo on
echo !aa!
echo off
"F:\Program Files\WinRAR\Rar.exe" a -ad -ep1 -df -r -sfx "!aa!.exe" "!aa!"
)
setlocal EnableDelayedExpansion:启动变量延迟,变量要用一对叹号“! !”括起来;设置变量延迟后,获得的是当前值,否则是预处理的值(特殊变量例外);
for循环中的变量要用%%,如%%i;
“delims=”如果不指定,则默认会以空格来切分字符串;
“delims=”“tokens=”分别用来切分字符串和提取字符串;
%%~dpi:for循环的特殊变量,扩展到驱动器号和路径;
批处理错误提示:
1.提示系统找不到指定的驱动器----看是否使用::来做注释,最好使用rem做注释;
2.提示echo处于打开状态,说明所要显示的值为空值。