2016-09-05 2 views
0

J'ai un fichier bat que j'appelle everynight pour transférer certains fichiers.Utilisation de PSFTP pour envoyer un fichier au serveur distant

Je souhaite mettre un fichier de mon ordinateur sur mon serveur distant. J'ai installé PSFTP et je ne sais pas comment l'utiliser en mode batch.

Je mets ceci:

CD /D C:\Users\Vincent\Desktop 
psftp [email protected] -pw password -P port 
put file.csv /remote/folder/file.csv 

Mais quand je l'appelle mon dossier BAT, il stucks sur:

psftp > _ 

Comment puis-je l'utiliser comme mode Automatiser?

+0

Vous devez utiliser le commutateur '-b' de' psftp' et fournir un fichier texte contenant la ligne de commande 'put'; la façon dont vous le faites en ce moment permet à 'put' d'être interprété comme une commande' cmd' (invite de commande Windows) ... – aschipfl

Répondre

0

Vous devez créer un fichier contenant les commandes que vous souhaitez exécuter. Dans ce cas

put file.csv /remote/folder/file.csv 

Puis passez ce fichier avec l'option -b à PSFTP.

Voir https://stackoverflow.com/a/16440468/6550457 pour un exemple. En utilisant PSFTP comme vous l'avez, vous l'ouvrez en mode interactif, c'est pourquoi vous obtenez l'invite. Le -b l'exécutera en mode batch.

+0

Ok fonctionne! Je voulais utiliser une solution à un fichier, mais ça va. Merci. –

+0

Vous pouvez renvoyer les commandes à un fichier temporaire, puis l'utiliser si vous souhaitez une solution de fichier unique. – FloatingKiwi