所以我有一个非常基本的批处理脚本,它查看传入的文件夹并根据文件类型将文件移动到我想要的位置。现在显示带有“&”的文件夹会破坏它。你如何解决这个问题?我在网上找不到明显的答案。
robocopy.exe "%location%" "%destination%" /E /tee /LOG+:C:\Users\etc\Log.txt
编辑2:
好的,感谢下面的评论和一堆线索和错误,我认为这是一个报价问题。现在经过一堆试验和错误发现引号组合并且没有引号有效,但我不知道为什么。如果有人能够解释为什么这行得通而其他组合不起作用,我会很感激哈哈……批次太奇怪了。
Input -> Test.bat "C:\etc\etc\"
- 引号中的路径
set location=%1
- 没有报价
set type="%~2"
- 引号
set destination="C:\Users\xxxx\Desktop\Destination"
- 引号
set logfile="C:\Users\xxxx\Desktop\robolog.txt"
- 引号
robocopy.exe %location% "%destination%" /E /tee /LOG+:%logfile%
- 来源没有引号,但目的地在引号???
引号会相互抵消吗?我很困惑为什么添加引号会使其不起作用,但仅在某些情况下起作用?还有 %~1 vs %1 vs "%1" vs "%~1" 产生不同的结果。