VisualStudioからWebフォルダーにファイルをコピーするためのバッチファイルがあります。* .csファイルを除いて、Webプロジェクト内のすべてのファイルをコピーしたい。これを機能させることができないようです:
xcopy /r /d /i /s /y /exclude:".cs" C:\dev\apan C:\web\apan
任意のヒント?これを実行しようとすると、終了コード4が表示されます。
VisualStudioからWebフォルダーにファイルをコピーするためのバッチファイルがあります。* .csファイルを除いて、Webプロジェクト内のすべてのファイルをコピーしたい。これを機能させることができないようです:
xcopy /r /d /i /s /y /exclude:".cs" C:\dev\apan C:\web\apan
任意のヒント?これを実行しようとすると、終了コード4が表示されます。
/EXCLUDE:
引数には、除外されたファイルのリストを含むファイルが必要です。
したがって、excludedfileslist.txt
以下を含むという名前のファイルを作成します。
.cs\
次に、次のようなコマンド:
xcopy /r /d /i /s /y /exclude:excludedfileslist.txt C:\dev\apan C:\web\apan
あるいは、 Robocopyを使用することもできますが、マシンにa をインストール/コピーする必要がありrobocopy.exe
ます。
「このソリューションはcssファイルも除外します!」という匿名のコメント編集。
これは、excludedfileslist.txt
ファイルを作成する場合に当てはまります:
.cs
(末尾にバックスラッシュがないことに注意してください)
また、次のすべてを除外します。
file1.cs
file2.css
dir1.cs\file3.txt
dir2\anyfile.cs.something.txt
XCOPY コマンドのヘルプを読んだり理解していない人が時々いますが、強調したい項目は次のとおりです。
/除外の使用
- 各ファイルの個別の行に各文字列をリストします。リストされた文字列のいずれかが、コピーするファイルの絶対パスの一部と一致する場合、そのファイルはコピー プロセスから除外されます。たとえば、文字列「\Obj」を指定すると、Obj ディレクトリの下のすべてのファイルが除外されます。文字列「.obj」を指定すると、拡張子が .obj のすべてのファイルが除外されます。
file1.obj.tmp
例では、「拡張子が .obj のすべてのファイル」を除外すると述べていますが、またはという名前のファイルまたはディレクトリも除外するとは述べていません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 は最初の行を無視したため、2 行目から除外拡張機能のリストを開始する必要がありました。
Exclusivefileslist.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/