首页 > 解决方案 > 在(Windows shell脚本)for循环中处理包含&符号的文件名时出错?

问题描述

我在 Windows shell 脚本中使用 for 循环来递归处理驱动器上的所有文件......

for /r %src_drv% %%f in (*.*) do call :SUB1 "%%f"

然后...

:SUB1
echo Breakpoint 10 SUB1 - passed param = %1
set srcfile="%1"
echo Breakpoint 11 - srcfile = %srcfile%

断点 10 按原样回显源文件名。断点 11 失败,将“&”之后的所有内容都视为命令。

我试着做

set srcfile=%srcfile:&=^&%
and
set srcfile=%srcfile:^&=^^&%

但这些都不起作用。这样做的正确方法是什么?

标签: windowsbatch-filecmd

解决方案


推荐阅读