我想将.txt文件中列出的文件复制到新文件夹

时间:2015-08-07 08:40:32

标签: batch-file copy

我在一个文件夹中有大约2000个文档,我想将它们分成不同的文件夹。 我创建了一个“documents.txt”,列出了我感兴趣的每个文件。

.txt文件读作:

C:\Users\NIE\Desktop\test2\one.pdf
C:\Users\NIE\Desktop\test2\two.pdf
C:\Users\NIE\Desktop\test2\three.pdf

所以现在我继续创建一个.bat文件:

@echo off 
FOR /F "delims=" %a IN (C:\Users\...\Desktop\test2\documents.txt) DO COPY "%%~a" "C:\Users\...\Desktop\test2\kopieren\%%~nxa"

文件夹结构如下:

在“... \ Desktop \ test2”中,找到所有文档。在子文件夹(“... \ Desktop \ test2 \ copy”)中,应复制特定文档(如documents.txt中所列)。

在运行我的代码时,我收到了声明:

%C:\Users\...\Desktop\test2\one.pdf
The syntax for the filename, path is wrong
       0 files were copied.

所以我猜“%”似乎是这里的坏人。我为.txt文件尝试了不同的样式,比如

one.pdf
userprofile%\Desktop\test2\one.pdf   (thought I could use the first % for completing the "%userprofile%" stuff

我可以通过谷歌找到的每个解决方案都没有用,在我的情况下,.txt文件的格式似乎是一个问题。

真的很期待你的回答:)

1 个答案:

答案 0 :(得分:1)

看起来你犯了一个致命的错误:%a
修正:

FOR /F "delims=" %%a IN (C:\Users\...\Desktop\test2\documents.txt) DO COPY "%%~a" "C:\Users\...\Desktop\test2\kopieren\%%~nxa"