批处理文件,用于根据文件名将文件复制到多个文件夹

时间:2015-05-19 09:14:13

标签: batch-file

好的超级新人,但我需要一些帮助。我的情况是我在多个文件夹中有多个pdf文件。例如:

文件夹 - “XYZ图纸”

包含文件 - “绘图 - 10”,“绘图 - 11”,“绘图 - 12”

我想将文件夹中的每个文件复制到另一个位置。每个文件将单独移动到它自己的文件夹,例如:

文件夹 - “10”

包含文件 - “绘图 - 10”

文件夹 - “11”

包含文件 - “绘图 - 11”

文件夹 - “12”

包含文件 - “绘图 - 12”

所有目标文件夹都已创建,因此我知道每个文件夹的路径,我希望每个文件的位置,但是手动执行此操作超过1000个文件似乎不太可行。请有人帮帮我吗?

1 个答案:

答案 0 :(得分:0)

如果您的文件名称与此完全相同(Something - number.pdf)并且它们与您的bat文件位于同一文件夹中,文件夹1,2,3 ...也位于同一文件夹中,代码schould工作:

FOR %%a IN (*.pdf) DO (
    FOR /F "tokens=3" %%b IN ("%%a") DO (
        FOR /F "tokens=1 delims=." %%c IN ("%%b") DO (
            COPY "%%~a" "%%~dpa%%c\%%~nxa" /Y
        )
    )
)

如果路径不同,则必须进行一些调整。