批处理脚本排除 winrar 的文件夹名称
Batch script exclude foldername for winrar
我希望脚本跳过文件夹名称中包含 _Fun_
的主文件夹中的所有子文件夹,以避免 winrar 将其存档。
我尝试了一些但没有任何效果,我最后的尝试看起来像:
for /D %%F in ("C:\Users\Admin\Desktop\Pictures\*") do (
"%ProgramFiles%\WinRAR\Rar.exe" m -ep1 -mt5 -m1 -v103M -r -x@"_Fun_" "C:\Users\Admin\Desktop\ArchivePictures\-Archive-Name-" "%%~F"
goto Done
)
使用此批处理代码测试当前文件夹的名称是否包含 _Fun_
并跳过该文件夹。
setlocal EnableDelayedExpansion
for /D %%F in ("C:\Users\Admin\Desktop\Pictures\*") do (
set "FolderName=%%~nxF"
if "!FolderName:_Fun_=!" == "%%~nxF" (
"%ProgramFiles%\WinRAR\Rar.exe" m -ep1 -mt5 -m1 -v103M -r "C:\Users\Admin\Desktop\ArchivePictures\-Archive-Name-" "%%~F"
goto Done
)
)
:Done
endlocal
没有路径的文件夹名称和扩展名(如果文件夹在某处包含一个点)分配给环境变量FolderName
。
在下一行中,环境变量 FolderName
中所有出现的 _Fun_
扩展延迟并且当 cmd.exe
解析整个 FOR 块时尚未扩展什么都没有替换,并将此字符串与未修改的文件夹名称进行比较。
如果文件夹名称在任何地方都不包含 _Fun_
,则字符串比较为正。在这种情况下,文件夹是用 WinRAR.
压缩的
通过打开命令提示符 window,输入 set /?
或 help set
,使用键 [=44 执行,了解有关字符串操作和延迟环境变量扩展的更多信息=] 并阅读控制台 window.
中输出的帮助页面
此处用于 %%~nxF
的特殊字符序列在命令 call
和命令 for /?
的帮助中进行了解释,可以通过执行 call /?
或for /?
或 help call
或 help for
.
我希望脚本跳过文件夹名称中包含 _Fun_
的主文件夹中的所有子文件夹,以避免 winrar 将其存档。
我尝试了一些但没有任何效果,我最后的尝试看起来像:
for /D %%F in ("C:\Users\Admin\Desktop\Pictures\*") do (
"%ProgramFiles%\WinRAR\Rar.exe" m -ep1 -mt5 -m1 -v103M -r -x@"_Fun_" "C:\Users\Admin\Desktop\ArchivePictures\-Archive-Name-" "%%~F"
goto Done
)
使用此批处理代码测试当前文件夹的名称是否包含 _Fun_
并跳过该文件夹。
setlocal EnableDelayedExpansion
for /D %%F in ("C:\Users\Admin\Desktop\Pictures\*") do (
set "FolderName=%%~nxF"
if "!FolderName:_Fun_=!" == "%%~nxF" (
"%ProgramFiles%\WinRAR\Rar.exe" m -ep1 -mt5 -m1 -v103M -r "C:\Users\Admin\Desktop\ArchivePictures\-Archive-Name-" "%%~F"
goto Done
)
)
:Done
endlocal
没有路径的文件夹名称和扩展名(如果文件夹在某处包含一个点)分配给环境变量FolderName
。
在下一行中,环境变量 FolderName
中所有出现的 _Fun_
扩展延迟并且当 cmd.exe
解析整个 FOR 块时尚未扩展什么都没有替换,并将此字符串与未修改的文件夹名称进行比较。
如果文件夹名称在任何地方都不包含 _Fun_
,则字符串比较为正。在这种情况下,文件夹是用 WinRAR.
通过打开命令提示符 window,输入 set /?
或 help set
,使用键 [=44 执行,了解有关字符串操作和延迟环境变量扩展的更多信息=] 并阅读控制台 window.
此处用于 %%~nxF
的特殊字符序列在命令 call
和命令 for /?
的帮助中进行了解释,可以通过执行 call /?
或for /?
或 help call
或 help for
.