2017-05-09 1 views
1

J'essaye de télécharger un fichier depuis le serveur Windows vers un serveur tiers (je ne connais pas l'OS, etc.) via le script batch Windows. J'utilise PSFTP pour télécharger des fichiers. Cela fonctionnait depuis longtemps, mais depuis hier, lors du téléchargement de fichiers, le message "Erreur de réseau: connexion expirée" s'affiche et le contrôle du fichier de script batch effectue d'autres étapes après le téléchargement du fichier.Vérification de l'erreur de téléchargement du fichier psftp dans le fichier batch

Mon exigence est chaque fois qu'il y a un échec pour télécharger un fichier via la commande psftp via un script batch, le système ne devrait pas aller plus loin. Il devrait cesser d'exécuter d'autres étapes.

S'il vous plaît laissez-moi savoir comment faire dans les scripts batch Windows?

Répondre

1

psftp renvoie le code de sortie 1 en cas d'erreur. Il vous suffit donc de vérifier le code de sortie et d'agir en conséquence.

Pour enregistrer des erreurs, juste redirect all psftp.exe output to a file.

psftp.exe -b script.txt > script.log 2>&1 

if errorlevel 1 (
    echo Error 
) else (
    echo Success 
    rem Other commands to perform on success 
) 
+0

Merci Cela aide! Est-il possible de capturer un message d'erreur? Par exemple: le délai d'attente du réseau ou le fichier est corrompu, etc. Pour savoir pourquoi la commande a échoué et trouver une solution pour cela – user661981

+0

Vous êtes les bienvenus. Bien que sur Stack Overflow nous [remercions en acceptant et/ou upvoting la réponse] (http://stackoverflow.com/help/someone-answers). –

+0

Que voulez-vous faire avec le message d'erreur capturé? –