嵌套 for 循环的批处理文件抛出“| 此时是意外的”
Batch file nested for loop throws "| was unexpected at this time"
我试图将 dir
命令的 return 存储到一个变量中。到目前为止,我发现的所有内容都需要一个 for /f
循环。此调用是在另一个 for /f
循环中进行的,我遇到了问题。以下是代码相关部分的片段:
set "list=list.txt"
setlocal enabledelayedexpansion
for /f "tokens=*" %%D in (%list%) do (
set "path_to=%%D"
...
...
...
for /f "delims=" %%Z in ('dir /b "%path_to%\..\..\.." | find /c /v ""') do (echo %%Z)
)
我使用 %path_to%
而不是 !path_to!
因为变量在第二个 for 循环之外。
如果在 FOR 循环的主题中使用管道,则必须使用 carret ^|
转义管道。管道是批处理文件中的特殊字符。
我试图将 dir
命令的 return 存储到一个变量中。到目前为止,我发现的所有内容都需要一个 for /f
循环。此调用是在另一个 for /f
循环中进行的,我遇到了问题。以下是代码相关部分的片段:
set "list=list.txt"
setlocal enabledelayedexpansion
for /f "tokens=*" %%D in (%list%) do (
set "path_to=%%D"
...
...
...
for /f "delims=" %%Z in ('dir /b "%path_to%\..\..\.." | find /c /v ""') do (echo %%Z)
)
我使用 %path_to%
而不是 !path_to!
因为变量在第二个 for 循环之外。
如果在 FOR 循环的主题中使用管道,则必须使用 carret ^|
转义管道。管道是批处理文件中的特殊字符。