除外された多数のファイルでrobocopyを使用するにはどうすればよいですか?


10

robocopyを使用して、ホワイトリストにあるファイル以外の多数のファイルを移動したい。ホワイトリストには、異なる名前の約150個のファイルが含まれています。ホワイトリストのファイル名を(/xfパラメーターを使用して)コマンドラインにコピーして貼り付けると、robocopyはリストを切り捨てます。

c:\test> robocopy src dest *.ext /xf exclude1.ext exclude2.ext exclude3.ext ... exclude 299.ext exclude300.ext

結果:

-------------------------------------------------------------------------------
   ROBOCOPY     ::     Robust File Copy for Windows

-------------------------------------------------------------------------------

  Started : Fri May 24 14:09:31 2013

   Source : C:\test\src\
     Dest : C:\test\dest\

    Files : *.ext

Exc Files : exclude1.ext
            exclude2.ext
            exclude3.ext
            ....
            ....
            exclude200.ext
            exclude201.ext
            exclu

その後:

'exclude250.ext' is not recognized as an internal or external command,
operable program or batch file.
'exclude251.ext' is not recognized as an internal or external command,
operable program or batch file.
'exclude252.ext' is not recognized as an internal or external command,
operable program or batch file.
'exclude253.ext' is not recognized as an internal or external command,
operable program or batch file.

残念ながら、ホワイトリストのファイルは厳選されており、ワイルドカードでフィルタリングすることはできません。

これを回避する方法はありますか?

回答:


13

ウィンドウでは、コマンドラインの長さに制限があります(2048文字のようだと思います)。

/save:filename構文を取得するには、引数を使用して除外リストの小さなサブセットを指定したジョブファイルを生成し、ファイルを編集して完全なリストを含め、/job:filename引数を使用して実行する必要があります。

参考までに、このツールのドキュメントはここにあります。


0

robocopyジョブファイルの構文はそれほど複雑ではないことがわかります。

特定の状況では、次の内容を含むrobocopyジョブファイルを作成することで、目的を達成できます。

/XD
exclude1.ext
exclude2.ext
exclude3.ext
....

ファイルに対しても同じようにしたい場合、robocopyジョブファイルは次のようになります。

/XD
exclude1.ext
exclude2.ext
exclude3.ext
....

/XF
file1.ext
file2.ext
file3.ext
....

同じロジックを使用することにより、他のオプションをコマンドラインからジョブファイルに移動できます。


0

/ XFの後にワイルドカードを使用してみますfilename1 * .ext filename2 * .ext filename3 * .extこれは、ファイル名が構造全体で一意であることがわかっている場合にのみ機能します。この制限を回避するために、除外するファイルの命名規則を変更できます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.