Windows Batchを使用してファイルをコピーするにはどうすればよいですか?
-
06-07-2019 - |
質問
複数のサブディレクトリとファイルのあるディレクトリがあります。
サブディレクトリ内のすべてのファイルを新しい場所にコピーするにはどうすればよいですか?
編集:ディレクトリをコピーするのではなく、ファイルだけをコピーします...
これはまだXP上にあるため、以下のソリューションを選択しました。
for /D %S IN ("src\*.*") DO @COPY "%S\" "dest\"
ありがとう!
解決
はい。ディレクトリ構造が必要ないという編集があれば、次のようなものを使用したいと思うでしょう。
for /F "usebackq" %s IN (`DIR /B /S /A-D SrcDir`) DO @(
XCOPY %s DestDir\%~nxs
)
他のヒント
ここでXcopyコマンドが役立ちます。
XCOPY /E SrcDir\*.* DestDir\
または、SrcDir内のファイルがまったくなく、サブディレクトリだけが必要な場合は、FORコマンドとともにXCOPYを使用できます。
FOR /D %s IN (SrcDir\*) DO @XCOPY /E %s DestDir\%~ns\
robocopy" c:\ source" " c:\ destination" / E
あなたが正しく理解できた場合、大きなディレクトリツリーがあり、その中のすべてのファイルを1つのディレクトリに配置する必要があります。それが正しければ、次の2行で行うことができます。
dir /s /b "yourSourceDirectoryTreeHere" > filelist.txt
for /f %f in (filelist.txt) do @copy %f "yourDestinationDirHere"
バッチファイルとコマンドラインで%fを%% fに変更します
反対側で同じフォルダ構造を維持したい場合は、XCOPYと同じくらい簡単に聞こえます
xcopy c:\ old \ *。* d:\ new \ / s
空のディレクトリもコピーする場合は、/ sではなく/ eを使用します。
for /D %S IN ("src\*.*") DO @COPY "%S\" "dest\"
所属していません StackOverflow