使用批处理文件复制文件

时间:2013-07-11 06:42:13

标签: windows for-loop batch-file

我需要将循环中提到的一组文件复制到另一个位置,每个文件都复制到一个以文件名命名的目录中。

示例: 我需要将file1.txt从路径ABC复制到DEF \ file1 \; file2.txt从路径ABC到DEF \ file2 \

我一直在尝试使用以下for循环来实现同样的目的。但是,我正在做的事情似乎存在语法错误。因为急于提供这个,我在发布之前无法探索太多。我正在寻找并行的解决方案。请通过以下代码示例告诉我这个问题

FOR %%file IN (de.txt en.txt es.txt fr.txt it.txt ja.txt nl.txt pt.txt zh_CN.txt) DO  
     SET name=%file%.*
    echo f | xcopy /I /Y "C:\textfiles\%name%.txt" D:\textfiles\%name%\LanguageFile.txt
DONE

2 个答案:

答案 0 :(得分:3)

从命令行

尝试此操作
for %f in (de.txt en.txt es.txt fr.txt it.txt ja.txt nl.txt pt.mo zh_CN.txt) do echo xcopy "C:\textfiles\%~nf.mo" "D:\textfiles\%~nf\%~nf.mo"

或批处理文件

for %%f in (de.txt en.txt es.txt fr.txt it.txt ja.txt nl.txt pt.mo zh_CN.txt) do echo xcopy "C:\textfiles\%%~nf.mo% "D:\textfiles\%%~nf\%%~nf.mo"

答案 1 :(得分:0)

@ECHO OFF
SETLOCAL
FOR %%f IN (de.txt en.txt es.txt fr.txt it.txt ja.txt nl.txt pt.txt zh_CN.txt) DO (
  ECHO ECHO f bar xcopy /I /Y "C:\textfiles\*%%f*" u:\textfiles\%%~nf\LanguageFile.txt
)
GOTO :EOF

简单echo es要执行的命令。如果正确,请将ECHO f bar更改为f|以实际复制