我有一个文本文件,其中包含文件名和它们要去的路径,用逗号分隔。我需要创建一个批处理文件来搜索一个目录中的文件,并将它们复制到各自的目的地。
文本文件如下所示:
12345.pdf, C:\SomeDirectory\1
54321.pdf, C:\SomeDirectory\2
67891.pdf, C:\SomeDirectory\3
pdf文件都在一个没有子目录的文件夹中。该命令将在逗号之前获取文件名,在源中查找文件,并将它们复制到文本文件中同一行上逗号后面所述的路径。
我假设PowerShell也是一种选择。
以下是我的尝试:
FOR /F "tokens=1,2" delims =," %%G IN (PDF_MISSING.txt) DO @echo copy /Y "W:\GasImages\ServiceCards\All_PDF\%%G" "%%H"
此外:
FOR /F "tokens=1,2" delims =," %%G IN (PDF_MISSING.txt) DO @echo copy /Y "W:\GasImages\ServiceCards\All_PDF\%%G" "%%H"
这两个都返回“命令的语法不正确”
答案 0 :(得分:1)
错误的语法。正确的语法:
FOR /F "tokens=1,2 delims=," %%G IN ...
注意:空格(逗号后面)将是%%H
您可以将空格添加到分隔符,但是当任何路径包含预期空间时,您将遇到问题。如果你确定,就没有一个:
FOR /F "tokens=1,2 delims=, " %%G IN ...