我有一个看起来像这样的批处理文件:
IF EXIST icon.ico (
attrib -S -H -R desktop.ini
echo f | xcopy /H /Y "%~dp0desktop.ini.txt" desktop.ini
attrib +S +H +A desktop.ini
)
Run Code Online (Sandbox Code Playgroud)
这非常适合我的需要。我的问题是如何在所有子文件夹中运行它?
您可以for /r为此使用。
使用以下批处理文件:
for /r "starting_directory" %%a in (.) do (
pushd %%a
if exist icon.ico (
attrib -s -h -r desktop.ini
echo f | xcopy /h /y "%~dp0desktop.ini.txt" desktop.ini
attrib +s +h +a desktop.ini
)
popd
)
Run Code Online (Sandbox Code Playgroud)
句法
FOR /R [[drive:]path] %%parameter IN (set) DO command钥匙
drive:path:文件所在的文件夹树。
set:一组一个或多个文件。必须使用通配符。如果 (set) 是句点字符 (.) 那么 FOR 将遍历每个文件夹。
command:要执行的命令,包括任何命令行参数。%%parameter` : 一个可替换的参数:在批处理文件中使用 %%G(在命令行 %G 上)
/r 的来源- 循环文件(递归子文件夹)。
| 归档时间: |
|
| 查看次数: |
11346 次 |
| 最近记录: |