i avoir le code suivant dans le lot (cmd):Ignorer lorsqu'une erreur se produit
for /f "delims=" %%f in ('dir /b /s Example') do (
command
if %errorlevel%==1 (
command
SKIP
)
command
)
EDIT: Pour rendre les choses plus claires: for /f...
recherche un répertoire appelé « exemple » et des boucles pour rechercher pour plus de répertoires qu'un. le premier command
est une commande de suppression, il supprime tous les fichiers dans le répertoire. Le command
qui se produit lorsqu'une erreur se produit, est une commande echo
qui écrit des informations sur l'erreur dans un fichier texte. maintenant le trou skip
chose; parfois, les fichiers ne peuvent pas être supprimés en raison de access denied
ou this file is in use by...
. Normalement, que se passerait-il s'il n'y avait pas de saut, cela arrêterait simplement la commande et se bloquerait. Donc, ce que je veux faire, c'est empêcher cela. Alternativement, je veux utiliser quelque chose comme skip
, de sorte qu'il peut passer le fichier et continuer de toute façon. Donc je pense que cette commande doit être redirigée vers la commande delete
.
J'espère que c'est clair maintenant.
Merci d'avance.
appeler à dir est assez stupide quand pour marcher un arbre de répertoire pour vous – Anders
S'il vous plaît expliquer mieux ce que vous avez besoin. J'ai essayé de deviner vos intentions avec ma réponse, mais apparemment n'a pas réussi. Que voulez-vous dire par "sauter", alors? Peut-être que vous pouvez fournir une structure de répertoire exemple et le comportement attendu de votre script batch sur cette structure de répertoire. – atzz
Votre utilisation du mot «skip» est extraordinairement ambigu. – Alan