0

ネストされたサブフォルダーに大量の PNG があります。それらをすべて単一の宛先フォルダーにコピーしたい。私はこれらのセットをたくさん持っています。

使用robocopy [sourcefolder] [destfolder] *.png /sすると、サブフォルダーもコピーされますが、これは望ましくありません。

4

1 に答える 1

0

これは 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 ループには独自の変数 ( %%dor など%%e) が必要であることを覚えておいてください。多くのレベルのサブフォルダーがある場合、これは少し複雑になる可能性があるため、別のスクリプト言語に切り替えることを検討します。

于 2012-10-16T06:55:39.167 に答える