我有一个批处理文件,可以将文件从Visual Studio复制到我的Web文件夹。我想复制我的Web项目中的所有文件,但* .cs文件除外。我似乎无法使它工作:
xcopy /r /d /i /s /y /exclude:".cs" C:\dev\apan C:\web\apan
有小费吗?当我尝试运行此代码时,我只会得到退出代码4。
Answers:
该/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的文件。
如示例所示,它排除“扩展名为.obj的所有文件”,但并未说明也排除名为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 /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/