Visual StudioからWebフォルダにファイルをコピーするバッチファイルがあります。 * .csファイルを除いて、私のWebプロジェクト内のすべてのファイルをコピーしたいと思います。私はこれを働かせるように見えない:/xcopyでファイルタイプのみの除外
xcopy /r /d /i /s /y /exclude:".cs" C:\dev\apan C:\web\apan
何かヒント?私はこれを実行しようとすると終了コード4を取得します。
Visual StudioからWebフォルダにファイルをコピーするバッチファイルがあります。 * .csファイルを除いて、私のWebプロジェクト内のすべてのファイルをコピーしたいと思います。私はこれを働かせるように見えない:/xcopyでファイルタイプのみの除外
xcopy /r /d /i /s /y /exclude:".cs" C:\dev\apan C:\web\apan
何かヒント?私はこれを実行しようとすると終了コード4を取得します。
引数は、除外されたファイルのリストを含むファイルを必要とします。
だから、 "excludedfileslist.txt" を含むと呼ばれるAAファイルを作成します。そして、このようなコマンド
.cs\
を:
xcopy /r /d /i /s /y /exclude:excludedfileslist.txt C:\dev\apan C:\web\apan
また、あなたがRobocopyを使用することができますが、robocopy.exe
をコピー/インストールが必要となるがマシンに送信します。
簡単に言う匿名のコメントを編集「このソリューションは、CSSファイルも除外!」
これは「excludedfileslist.txtファイルを作成真実であるだけ含まれています
.cs
が
また、次のすべてを除外します(最後にはバックスラッシュに注意していません) file1.cs
file2.css
dir1.cs\file3.txt
dir2\anyfile.cs.something.txt
時には人が読み取りまたはXCOPYコマンドのヘルプを理解していないが、ここで私が強調表示したい項目である:/使用
を除外
- 各文字列を各ファイルの別々の行にリストします。リストされた文字列のいずれかが、コピーするファイルの絶対パスのいずれかの部分と一致する場合、そのファイルはコピープロセスから除外されます。たとえば、文字列 "\ Obj \"を指定する場合は、Objディレクトリの下にあるすべてのファイルを除外します。文字列 ".obj"を指定すると、.obj拡張子を持つすべてのファイルが除外されます。例として
は、それがall files with the .obj extension
を除外しますが、それはまたfile1.obj.tmp
かdir.obj.output\example2.txt
という名前のファイルやディレクトリを除外すると述べているしません述べています。
.css
ファイルも除外されていますが、「excludedfileslist」を変更してください。ちょうど含まれるようにTXT」:。
.cs\
(末尾にバックスラッシュを注意してください)
ここではあなたの参照のための完全なテスト・シーケンスです:
C:\test1>ver
Microsoft Windows [Version 6.1.7601]
C:\test1>md src
C:\test1>md dst
C:\test1>md src\dir1
C:\test1>md src\dir2.cs
C:\test1>echo "file contents" > src\file1.cs
C:\test1>echo "file contents" > src\file2.css
C:\test1>echo "file contents" > src\dir1\file3.txt
C:\test1>echo "file contents" > src\dir1\file4.cs.txt
C:\test1>echo "file contents" > src\dir2.cs\file5.txt
C:\test1>xcopy /r /i /s /y .\src .\dst
.\src\file1.cs
.\src\file2.css
.\src\dir1\file3.txt
.\src\dir1\file4.cs.txt
.\src\dir2.cs\file5.txt
5 File(s) copied
C:\test1>echo .cs > excludedfileslist.txt
C:\test1>xcopy /r /i /s /y /exclude:excludedfileslist.txt .\src .\dst
.\src\dir1\file3.txt
1 File(s) copied
C:\test1>echo .cs\ > excludedfileslist.txt
C:\test1>xcopy /r /i /s /y /exclude:excludedfileslist.txt .\src .\dst
.\src\file2.css
.\src\dir1\file3.txt
.\src\dir1\file4.cs.txt
3 File(s) copied
このテストでは、Windows上で完了しました7コマンドラインでWindows 10 "10.0.14393"で再テストした場合
最後の例では、.\src\dir2.cs\file5.txt
が除外されていますが、予期しないことがあります。
XCOPYは、最初の行を無視するので、私は二行目から除外する拡張子のリストを開始しなければならなかった私の場合はexcludefileslist.txt
で.csファイルへの変更は、* .csファイル。
私はこれを持っていて、除外テキストファイルの最初の行を空白にしておくことは答えでした - 誰もが最初の行を空白にしなければならない理由を知っていますか? –
複数のファイルタイプを除外するには、「+」を使用して他のリストを連結することができます。
xcopy /r /d /i /s /y /exclude:excludedfileslist1.txt+excludedfileslist2.txt C:\dev\apan C:\web\apan
出典:たとえばhttp://www.tech-recipes.com/rx/2682/xcopy_command_using_the_exclude_flag/
または1つのエクスクルードファイル内の各行に別々の拡張子を追加するだけです。 – angularsen
ああ、それは私が私の全体の開発チームにこれを配布しようとしていますので、不便のビットです。これに対処する方法はありますか? –
robocopyの代替候補を含めるように更新されました。 –
さて、私はそれを得た!バッチファイルの先頭にファイルを作成するだけです:echo .cs> C:\ nocs.txt –