我需要将循环中提到的一组文件复制到另一个位置,每个文件都复制到一个以文件名命名的目录中。
示例: 我需要将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
答案 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|
以实际复制