我需要将目录树中的所有文件复制到一个目录中。快速搜索为我提供了这种方法:
for /f "tokens=*" %a in ('dir /b /s /a-d') do @copy "%a" "c:\Single-Folder"
我试过了,效果很好。决定稍微简化一下,我创建了一个快速批处理文件,这样我以后就不必再查找它了。我的批处理文件如下所示:
set COPY_FROM="C:\Users\me\Desktop\Disc 1"
set COPY_TO="C:\Testing\test"
cd %COPY_FROM%
for /f "tokens=*" %a in ('dir /b /s /a-d') do @copy %COPY_TO%
pause
不幸的是,当我执行此操作时,出现错误:
C:\Users\me\Desktop\Tools>set COPY_FROM="C:\Users\me\Desktop\Disc 1"
C:\Users\me\Desktop\Tools>set COPY_TO="C:\Testing\test"
"\Users\me\Desktop\Disc 1"') was unexpected at this time.
C:\Users\me\Desktop\Tools>for /f "tokens=*" "\Users\me\Desktop\Disc 1"') do @copy "\Testing\test"
如果我将它输入到命令行中,则在作为批处理文件运行时不起作用。我确实尝试用实际路径替换变量,但得到了同样的错误。即使我只使用命令行中的行创建批处理文件,从文件运行时它也不起作用。有谁知道我做错了什么?
提前感谢您的任何帮助。