[英]Issues with a for loop and xcopy creating folders that mimic the file names?
我正在尝试使用for循环和xcopy命令将一组文件复制到文件列表(filelist.txt)中列出的新位置。 但是,我的脚本存在一个问题,其中正在创建具有相同文件名的目录。
因此,例如,我在filelist.txt中包含以下内容
MC\1807\1807-06-10\M-1807-00246071.tif
BC\1825\18250218\B-1825-00000012-0.tif
BC\1837\18370727\B-1837-00000013-0.tif
MC\1848\1848-08-04\M-1848-00000007.tif
MC\1849\1849-02-24\M-1849-00000008.tif
命令行执行如下所示:
for /f "delims=" %i in (filelist.txt) do echo D|xcopy "E:\files\%i" "F:\files\%i" /i /z /y
注意,我正在从E复制到F驱动器。 因此在E上,文件按以下方式存储:
E:\files\MC\1807\1807-06-10\M-1807-00246071.tif
E:\files\BC\1825\18250218\B-1825-00000012-0.tif
E:\files\BC\1837\18370727\B-1837-00000013-0.tif
E:\files\MC\1848\1848-08-04\M-1848-00000007.tif
E:\files\MC\1849\1849-02-24\M-1849-00000008.tif
运行xcopy命令后,收到以下结果集:
F:\files\MC\1807\1807-06-10\M-1849-00000008.tif\M-1807-00246071.tif
F:\files\BC\1825\18250218\M-1849-00000008.tif\B-1825-00000012-0.tif
F:\files\BC\1837\18370727\M-1849-00000008.tif\B-1837-00000013-0.tif
F:\files\MC\1848\1848-08-04\M-1849-00000008.tif\M-1848-00000007.tif
F:\files\MC\1849\1849-02-24\M-1849-00000008.tif\M-1849-00000008.tif
请注意,它是如何使用文件名创建一个文件夹, 然后将文件放置在该文件夹中,而不是直接从源目录复制到目标目录。
我的xcopy命令中可能导致什么?
我想到了。 复制时,它会提示您是目录(D)还是文件(F)。 在回声上,我返回了D:
for /f "delims=" %i in (filelist.txt) do echo D|xcopy "E:\files\%i" "F:\files\%i" /i /z /y
通过将其更改为回显F,可以解决此问题。
for /f "delims=" %i in (filelist.txt) do echo F|xcopy "E:\files\%i" "F:\files\%i" /i /z /y
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.