ネストされたサブフォルダーに大量の PNG があります。それらをすべて単一の宛先フォルダーにコピーしたい。私はこれらのセットをたくさん持っています。
使用robocopy [sourcefolder] [destfolder] *.png /s
すると、サブフォルダーもコピーされますが、これは望ましくありません。
ネストされたサブフォルダーに大量の PNG があります。それらをすべて単一の宛先フォルダーにコピーしたい。私はこれらのセットをたくさん持っています。
使用robocopy [sourcefolder] [destfolder] *.png /s
すると、サブフォルダーもコピーされますが、これは望ましくありません。
これは for ループで実現できます。
for /f %%d in ('dir %sourcefolder% /b /ad') do (
robocopy %sourcefolder%\%%d %destfolder% *.png /s
)
これは 1 レベルのサブフォルダーでのみ機能することに注意してください。それ以上ある場合は、ネストされた for ループを使用する必要があります。それは次のようになります。
for /f %%d in ('dir %sourcefolder% /b /ad') do (
robocopy %sourcefolder%\%%d %destfolder% *.png /s
for /f %%e in ('dir %sourcefolder%\%%d /b /ad') do (
robocopy %sourcefolder%\%%d\%%e %destfolder% *.png /s
)
)
各 for ループには独自の変数 ( %%d
or など%%e
) が必要であることを覚えておいてください。多くのレベルのサブフォルダーがある場合、これは少し複雑になる可能性があるため、別のスクリプト言語に切り替えることを検討します。