Windows 7 64 bitstests errorlevel dans un fichier batch ne fait
retour ne devrait j'écrire un fichier de commandes qui copie un fichier à partir d'un répertoire à un autre supprime le fichier. Il y a des moments où le fichier que je souhaite copier est écrit par un autre programme lorsque le fichier batch est exécuté et par conséquent émet l'erreur "Le processus ne peut pas accéder au fichier parce qu'il est utilisé par un autre processus." Je m'attendais à être en mesure de faire un test de niveau d'erreur sur cette condition et quand il existe, sauter à un délai, puis réessayer. Je suis incapable d'obtenir un test de type IF ERRORLEVEL 1 pour me donner une condition 1 afin que je puisse sauter à mon retard. J'ai essayé toutes sortes de variations en utilisant% autour errorlevel etc. Je n'arrive pas à l'obtenir pour produire un résultat non 0 même sachez qu'il produit l'erreur "Le processus ne peut pas accéder au fichier ...". Je jure que j'ai eu ce travail à un moment mais je ne peux pas pour la vie de moi comprendre pourquoi il ne fonctionne plus. J'ai même essayé un test beaucoup plus simple ci-dessous et il ne verra pas la commande failed failed comme un niveau d'erreur non nul. Comment puis-je construire un test de niveau d'erreur correct qui va ramasser la commande de suppression défaillante et me permettre de passer à un retard?
:start
copy c:\users\pc\documents\recordings\*.mp3 c:\recordings
del c:\users\pc\documents\recordings\*.mp3
if errorlevel 1 goto delay
goto start
:delay
echo delay
ping 1.1.1.1 > nul
goto start