robocopyを使用してコピーする場合、同じ名前のファイルのみを除外します


15

私はこのようなディレクトリ構造を持っています:

folder1\
    help.txt
    folder2\
        help.txt
    folder3\
        help.txt
    ...

robocopyを使用してfolder1の内容をコピーしたい。例えば:

robocopy folder1 destination /E

folder1にあるhelp.textファイルを除外したいが、folder2、folder3などにhelp.txtファイルを含めたい含めるファイルへのパスをコーディングします。

次のコマンドを使用してhelp.txtという名前のすべてのファイルを除外できますが、folder1のルートにあるhelp.txtファイルを除外する方法はありますか?

robocopy folder1 destination /E /XF help.txt

回答:


15

除外するファイルの完全なパス(ドライブを含む)を含める必要があります。相対パスは機能しません。

これは動作します:

robocopy folder1 destination /E /XF "c:\somedir\another dir\folder1\help.txt"

これはしません:

robocopy folder1 destination /E /XF "folder1\help.txt"

これも:

robocopy folder1 destination /E /XF ".\folder1\help.txt"

あなたはそうのような複数のファイルを除外することができますrobocopy folder1 destination /E /XF "c:\file1" "c:\file2"
schnatterer

@ Dennis-Williamson、この正しい答えをありがとう。ワイルドカードでは機能しない哀れみ:robocopy folder1 destination /E /XF "c:\somedir\another dir\folder1\help.txt*"エラーにつながります。
オリビエフォーシュー

したがって、他のコマンドを2時間試した後、これは機能しました。どうもありがとう!
クリストファーチップス16年

0

ファイル名でそれを行う方法はないようです。コピーしたくないファイルに属性を設定して、ソースツリーの他のファイルにはないことがわかっている場合は、/ xaを使用してその属性を持つファイルを除外できます。

それに失敗すると、別のツールを使用する必要があります。

これは動作します:

echo folder1\help.txt > \temp\excl.txt
xcopy /E folder1 destination /EXCLUDE:\temp\excl.txt

実際、次のようなディレクトリ構造がある場合:

folder1\
  help.txt
  folder1\
    help.txt

これらのファイルの両方が除外される可能性があります。


私は間違っていると思います。
wfaulkが

0

%CD%を使用して、現在のディレクトリを指定できます。これは、特定のディレクトリを除外するのに役立ちます。その他のヘルプはこちらです:

/programming//a/5274061

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