xcopy / exclude issue
-
10-07-2019 - |
質問
.objなどを除くファイルをコピーするxcopyを実行しようとしています。 excludes.txtファイルに拡張子として.objが含まれている場合、Microsoft.Practices.ObjectBuilder.dllはコピーされません。 .objが削除されると、Microsoft.Practices.ObjectBuilder.dllが正しくコピーされます。ただし、これは他のdllでは発生しません。
これがなぜ起こるのか、誰にも分かりませんか?
ありがとう!
レニック
解決
サブストリング.objがMicrosoft.Practices **。Obj ** ectBuilder.dllという名前で見つかり、Windowsでは大文字と小文字が区別されないため、除外されるためだと思います。
他のヒント
ええ、xcopyはそのように愚かです。
これを実行:
dir /b *.obj >excludes.txt
xcopy * /exclude:excludes.txt targetdir
これでも問題が発生する場合があります。
たとえば、 practices.ob jというファイルがある場合、それはコピーされませんが、Microsoftのコピーにも失敗します。 Practices.Obj ectBuilder.dll
便利なトリックは、dirで/ sを指定し、再帰およびフルパスを取得し、xcopyでソースディレクトリを完全に指定した場合、除外は始まり:
dir /s /b *.obj >excludes.txt
xcopy c:\sourcedir\* /exclude:excludes.txt \targetdir
Microsoft.Practices.ObjectBuilder.dllは、同じディレクトリにMicrosoft.Practices.objファイルがある場合にのみコピーに失敗します。わかった?
答えは、次のように入力すると得られるものです:
xcopy /?
名前:
/ EXCLUDE:file1 [+ file2] [+ file3] ...
文字列を含むファイルのリストを指定します。各ストリング ファイル内の別の行にある必要があります。いずれかの 文字列は、ファイルの絶対パスの任意の部分と一致します コピーされると、そのファイルはコピーから除外されます。にとって たとえば、\ obj \や.objなどの文字列を指定すると、除外されます ディレクトリobjの下のすべてのファイル、または それぞれ.obj拡張子。