2

.obj などを除くファイルをコピーする xcopy を実行しようとしています。excludes.txt ファイルに拡張子として .obj が含まれていると、Microsoft.Practices.ObjectBuilder.dll がコピーされません。.obj を削除すると、Microsoft.Practices.ObjectBuilder.dll が正しくコピーされます。ただし、これは他の dll では発生しません。

なぜこれが起こるのか誰にも分かりますか?

ありがとう!

レニク

4

4 に答える 4

6

ええ、xcopyはそのようにばかげています。

これを行う:

dir /b *.obj >excludes.txt
xcopy * /exclude:excludes.txt targetdir

ただし、これでも問題が発生することがあります。

たとえば、 practices.ob jというファイルがある場合、それはコピーされませんが、Microsoft のコピーにも失敗します。Practices.ObjectBuilder.dll _

便利なトリックは、dir で /s を指定すると、再帰フル パスが得られることです。次に、xcopy でソース ディレクトリを完全に指定すると、excludes は最初から一致する必要があります。

dir /s /b *.obj >excludes.txt
xcopy c:\sourcedir\* /exclude:excludes.txt \targetdir

現在、Microsoft.Practices.ObjectBuilder.dll は、同じディレクトリに Microsoft.Practices.obj ファイルがある場合にのみコピーに失敗します。それを得る?

于 2008-10-13T17:02:10.900 に答える
4

サブストリング .obj が Microsoft.Practices**.Obj**ectBuilder.dll という名前で見つかり、Windows では大文字と小文字が区別されないため、除外されるためだと思います。

于 2008-10-13T16:21:21.013 に答える
3

いずれにせよ、 XCOPY は非推奨になったので、問題が修正されるとは思えません。ROBOCOPY を見てみましょう。これは Vista に組み込まれており、2003 および XPのリソース キットに含まれています。

于 2008-10-13T17:23:50.340 に答える
-3

答えは、次のように入力して取得できるものです。

xcopy /?

すなわち:

/EXCLUDE:file1[+file2][+file3]...
文字列を含むファイルのリストを指定します。各文字列は、ファイル内の個別の行にある必要があります。いずれかの文字列がコピーするファイルの絶対パスの一部と一致する場合、そのファイルはコピーから除外されます。たとえば、\obj\ や .obj などの文字列を指定すると、ディレクトリ obj の下のすべてのファイルまたは .obj 拡張子を持つすべてのファイルがそれぞれ除外されます。

于 2008-10-13T16:23:34.130 に答える