2016-11-10 3 views
0

Je dois exécuter cette chaîne de commandesComment à la chaîne des commandes PSFTP dans une fenêtre unique ligne de commande

psftp xx.xx.xx.xx -l xxx -pw yyy 
cd zzzzzz 
get file.csv 
bye 

en une seule ligne de commande

(psftp vient d'ici: http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html)

J'ai vu sur le super-utilisateur (https://superuser.com/a/532528/290138) qu'avec ftp vous pouvez le faire comme ceci mais je ne comprends pas comment cela fonctionne:

echo open xx.xx.xx.xx >> ftp & echo user xxx yyy >> ftp & echo binary >> ftp & echo get file.csv >> ftp &echo bye >> ftp & ftp -n -v -s:ftp & del ftp 

Merci! J'ai écrit ces 4 lignes dans un fichier .bat et je l'ai exécuté.
La première ligne exécute bien, mais l'interprète de psftp ouvre (c'est comme l'interprète ftp)
et la deuxième ligne ne se produira jamais

+0

écrire un fichier '.bat' avec toutes les commandes qu'il contient, puis exécuter cette commande" one "à partir de la ligne de commande. Vous vous rendez compte que votre exemple cmd crée un script (avec une syntaxe suspecte) et l'exécute, puis le supprime? Vous pouvez donc faire la même chose avec les fichiers '.bat'. Bonne chance. – shellter

Répondre

0

I figured it out enfin:

Créer un fichier .bat qui fait cela :

cd X:\where\you\want\to\download 

@echo off 
@echo cd xxx > psftp.txt 
@echo get yyy.csv >> psftp.txt 
@echo bye >> psftp.txt 

psftp xx.xx.xx.xx -l login -pw PW -b psftp.txt 

del psftp.txt 

ou de la chaîne avec tous ces & d'avoir dans une seule ligne.