1

ループで言及されている一連のファイルを別の場所にコピーし、各ファイルをファイル名にちなんで名付けられたディレクトリにコピーする必要があります。

例: file1.txt をパス ABC から DEF\file1\ にコピーする必要があります。パス ABC から DEF\file2\ への file2.txt

同じことを達成するために、この次の 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
4

2 に答える 2

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"
于 2013-07-11T06:57:50.817 に答える
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

実行するコマンドを単にechoes します。正しい場合は、実際にコピーするように変更ECHO f barしますf|

于 2013-07-11T07:02:41.083 に答える