urb*_*der 3 batch-file robocopy
所以我有一个非常基本的批处理脚本,它查看传入的文件夹,并根据文件类型移动我想要的文件.现在,在其中显示"&"的文件夹会破坏它.你如何解决这个问题?我在网上找不到明显的答案.
robocopy.exe "%location%" "%destination%" /E /tee /LOG+:C:\Users\etc\Log.txt
Run Code Online (Sandbox Code Playgroud)
编辑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对%1对"%1"对比"%~1"产生不同的结果.
我测试了这个:
@ECHO OFF &SETLOCAL
SET "location=this & that"
SET "destination=more & more"
robocopy.exe "%location%" "%destination%" /E /tee /LOG+:"%destination%\Log.txt"
Run Code Online (Sandbox Code Playgroud)
我没有错误:
-------------------------------------------------------------------------------
ROBOCOPY :: Robust File Copy for Windows :: Version XP010
-------------------------------------------------------------------------------
Started : Wed Jul 31 09:59:55 2013
Source : C:\TEST\this & that\
Dest : C:\TEST\more & more\
Files : *.*
Options : *.* /TEE /S /E /COPY:DAT /R:1000000 /W:30
------------------------------------------------------------------------------
Run Code Online (Sandbox Code Playgroud)
------------------------------------------------------------------------------
Total Copied Skipped Mismatch FAILED Extras
Dirs : 1 0 1 0 0 0
Files : 81 81 0 0 0 1
Bytes : 28.3 k 28.3 k 0 0 0 0
Times : 0:00:00 0:00:00 0:00:00 0:00:00
Speed : 184585 Bytes/sec.
Speed : 10.562 MegaBytes/min.
Ended : Wed Jul 31 09:59:55 2013
Run Code Online (Sandbox Code Playgroud)