0
我似乎无法找到答案,我怎么能内部循环中使用外循环的迭代器(在一个批处理文件):如何使用外部for循环的迭代器进行延迟扩展?
setlocal enabledelayedexpansion
REM for every folder in %mainfolder%
for /D %%s in (%mainfolder%\*) DO (
REM for every file in the subfolder %s
for %%f in (%%s\*) do(
some things with the files in that subfolder
)
)
我在哪里必须把感叹号,让我实际上可以在内循环中使用%s?现在,我得到的错误
“做(” 卡恩syntaktisch nicht的dieser颗星verarbeitet werden C:在\ fakepath>为%F(%S *)做(
这意味着翻译是“做(”不能在这个位置语法处理。
我敢肯定,这个问题实际上已经做的延迟扩展(实际上,与不使用它)
您错过了'do'和左括号之间的空格。在内部循环中使用'%% s',....使用它。不需要延迟扩展 – 2014-12-03 18:29:27
哦,哇,我没有看到这个我自己!非常感谢你的快速答案。你认为我应该删除这个问题,因为它的愚蠢? – lucidbrot 2014-12-03 18:32:17
*“我没有失败,我刚刚发现了10000种不起作用的方法。”* Thomas A. Edison。没有愚蠢的问题。 – 2014-12-03 19:22:09