L'argument /EXCLUDE:
attend un fichier contenant une liste de fichiers exclus.
Alors créez aa fichier appelé "excludedfileslist.txt" contenant:
.cs\
Ensuite, une commande comme ceci:
xcopy /r /d /i /s /y /exclude:excludedfileslist.txt C:\dev\apan C:\web\apan
Sinon, vous pouvez utiliser Robocopy, mais nécessiterait l'installation/la copie d'un robocopy.exe
aux machines.
Mise à jour
Un modifier anonyme commentaire qui dit simplement « Cette solution exclut également le fichier css! »
Cela est vrai la création d'un « fichier excludedfileslist.txt contiennent juste:
.cs
(notez pas backslash sur la fin)
exclut également les éléments suivants:
file1.cs
file2.css
dir1.cs\file3.txt
dir2\anyfile.cs.something.txt
Parfois, les gens ne lisent pas ou ne comprennent pas l'aide de la commande XCOPY, est un élément ici, je voudrais souligner:
Utiliser/exclure
- Répertoriez chaque chaîne dans une ligne distincte dans chaque fichier. Si l'une des chaînes répertoriées correspond à une partie du chemin absolu du fichier à copier, ce fichier est exclu du processus de copie. Par exemple, si vous spécifiez la chaîne "\ Obj \", vous excluez tous les fichiers situés sous le répertoire Obj. Si vous spécifiez la chaîne ".obj", vous excluez tous les fichiers portant l'extension .obj.
Comme l'exemple indique qu'il exclut all files with the .obj extension
mais il ne dit pas qu'il exclut également les fichiers ou répertoires nommés file1.obj.tmp
ou dir.obj.output\example2.txt
.
Il existe un moyen de contourner .css
fichiers étant également exclu, modifiez le "excludedfileslist.txt » pour contenir juste:
.cs\
(notez la barre oblique inverse à la fin)
Voici une séquence de test complète pour votre référence.
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
Ce test a été effectué sur un ordinateur Windows 7 ligne de commande et retesté sur Windows 10 "10.0.14393"
Notez que le dernier exemple exclut .\src\dir2.cs\file5.txt
qui peut être ou ne pas être inattendu pour vous
Oh, c'est un peu gênant parce que je suis en train de distribuer à mon équipe de développement. Y a-t-il des solutions de rechange à cela? –
Réponse mise à jour pour inclure l'option robocopy. –
Ok, je l'ai eu! Je peux juste créer le fichier au début du fichier batch: echo .cs> C: \ nocs.txt –