带空格的 FOR /F 不起作用

带空格的 FOR /F 不起作用
FOR /f %%F IN ('dir /b /s "%DeploymentDirectory%\Run.*.dll"') DO ECHO %%F

问题是 返回的路径dir有空格,只显示部分路径。如何修复才能显示完整路径?

答案1

您需要设置用于将行拆分为标记的分隔符,以便不包含空格。类似于“delims=?”,紧跟在 /f 之后。只需使用文件名中非法的字符(? 和 * 是不错的选择)

FOR /F "delims=?" %%F in ('dir /b /s "%Dir%\Run.*.dll"') DO ECHO "%%F"

只需记住在实际命令中用双引号括住 %%F,因为扩展变量中也会有空格。

答案2

为什么在这里需要迭代dir的输出?只需使用

for /r %%F in ("%DeploymentDirectory%\Run.*.dll")

还不够吗?

答案3

将分隔线设置为行的开始和结束

for /f "delims=" %%F 

ETC

相关内容