windows - 在(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:^&=^^&%
但这些都不起作用。这样做的正确方法是什么?
解决方案
推荐阅读
- python - 由于 AttributeError,无法加载 Dash Core 组件
- c# - Attribute返回false时如何防止方法调用?
- javascript - 如何将数据集属性传递给后端
- java - 春季请求只给我空
- c - if 条件中 '%' 标记之前的预期表达式
- debugging - PineScript 问题 - 如何测试计算/调试
- reactjs - 我的应用程序的“React Hook useEffect 缺少依赖项”警告
- multithreading - 线性系统求解器在 Julia 中是否也像在 Matlab 中一样是多线程的?以及如何在 Julia 中“多线程”它?
- python - 在 pandas 中使用正则表达式或转义字符
- apache-spark - 从 PySpark 查询远程 Hive Metastore