Comment faire pour capturer le ftp code d'erreur dans les scripts?
J'ai un peu similaire, mais d'autres questions ici.
J'ai un script batch (*.bat
fichier) comme ceci:
@ftp -i -s:"%~f0"&GOTO:EOF
open ftp.myhost.com
myuser
mypassword
!:--- FTP commands below here ---
lcd "C:\myfolder"
cd /testdir
binary
put "myfile.zip"
disconnect
bye
Fondamentalement, c'est un script qui télécharge un fichier zip vers un site ftp. Ma question est de savoir qui, de l'opération de chargement peut échouer de temps en temps ( le ftp distant n'est pas disponible, "myfile.zip" est inexistante, l'opération de chargement interrompu et autres joyeusetés), et quand ces malheureux les choses, je veux que mon fichier bat retourne 1 ( exit 1
).
Ce serait formidable si mon upload n'a pas réussi, le ftp permettrait de lever une exception ( oui, comme d'exception en C++), et je voudrais avoir un fourre-tout, sauf que l'attrape et puis exit 1
, mais je ne pense que ce qui est disponible dans le script de commandes.
Quelle est la meilleure façon de le faire ce dont j'ai besoin ici?
OriginalL'auteur Graviton | 2011-08-23
Vous devez vous connecter pour publier un commentaire.
Vous pouvez rediriger la sortie vers un fichier de log et lors de la session ftp est terminé, le fichier peut être analysé.
OriginalL'auteur jeb
Votre seule option dans des fichiers batch que je connaisse est d'utiliser le "if ERRORLEVEL" de la syntaxe, ce qui exige votre client ftp pour retourner une valeur non nulle code d'erreur.
http://www.robvanderwoude.com/errorlevel.php est un bon guide de référence.
Malheureusement, je ne sais pas si le standard de Windows client ftp renvoie non-zéro des codes d'erreur, de sorte que vous pouvez avoir votre propre code si c'est une exigence. Ce lien , il ne semble pas renvoyer un code d'erreur, mais il fournit un travail autour de quoique maladroit, en redirigeant la sortie vers un fichier et à l'aide de la commande RECHERCHER pour retourner un code d'erreur.
OriginalL'auteur dlanod