2016-05-17 16 views
0

Ich versuche mehrere Befehle in einer Zeile auszuführen. Die Codes sind unten.Mehrere Befehle können nicht in einer Zeile ausgeführt werden

WinSCP.com 
open user:[email protected] 
lcd C:\Users\xx\Desktop 
get *.xlsx 
exit 

Wenn ich sie nacheinander ausführen, wird es funktionieren. Wenn ich sie alle zusammen mit einer Zeile ausführen möchte, wird es jedoch fehlschlagen, egal, ob ich ; oder & verwende.

Zum Beispiel, wenn ich WinSCP.com & open user:[email protected] ausführen, wird nur der erste Teil ausgeführt.

WinSCP.com; open user:[email protected] funktioniert auch nicht.

Wie werden sie mit einer Zeile ausgeführt?

Dank

+0

Mögliche Duplikat [WinSCP Skript nicht in Batch-Datei ausgeführt wird] (http://stackoverflow.com/questions/31945476/winscp-script-not-executing-in-batch-file) –

Antwort

2

Dies geschieht, weil beide Befehlszeile und winscp.com Programme sind. Wenn Sie Befehle nacheinander eingeben, starten Sie winscp.com und die nächsten eingegebenen Befehle gehen direkt zum WinSCP. Wenn Sie versuchen, alle Befehle gleichzeitig auszuführen, wird WinSCP gestartet und darauf gewartet, dass die Befehle beendet und ausgeführt werden.

Sie können auf jeden Fall eine Textdatei mit Ihren Befehlen erstellen und als script.txt

open user:[email protected] 
lcd C:\Users\xx\Desktop 
get *.xlsx 
exit 

speichern und dann auf die winscp.com Anwendung wie diese passieren es:

winscp.com /script=script.txt 

Es kann möglich sein, zu senden alle Befehle auf einmal mit /command cmd1 cmd2 ... wo Cmd1,2 sind Ihre Befehle, aber es könnte schwierig sein.

Referenzen

+1

winscp.com/script = script.txt funktioniert. Danke – NewGuyComesIn

0

Sie können die Folge von Befehlen in einer Skriptdatei von WinSCP verwendet setzen und Rufen Sie es mit der folgenden Befehlssequenz auf:

Ich habe festgestellt, dass es einfacher ist, den Überblick zu behalten, was Sie tun, und hält die Befehlssequenz leichter lesbar.

+0

Danke für die Antwort. Aber ich habe Andrew schon gewählt. Der Grund, dass ich sie in eine Zeile stecke, ist, dass ich sie in VBA einfügen möchte, so dass der Benutzer nur einmal auf den "Knopf" drücken muss, um die Datei zu laden. – NewGuyComesIn

0

Dies sind alle Möglichkeiten, mehrere Befehle in einer Zeile ausgeführt wird:

Wenn Sie command1 & command2 an der Eingabeaufforderung verwenden, es führt den ersten Befehl und dann den zweiten Befehl.

command1 && command2 Es wird der erste Befehl ausgeführt, und führt den zweiten Befehl nur dann aus, wenn der erste Befehl erfolgreich ausgeführt wurde.

command1 || command2 sie den ersten Befehl ausgeführt wird, und dann läuft den zweiten Befehl nur dann, wenn der erste Befehl nicht erfolgreich abgeschlossen wurde (empfängt ein Fehlercode größer als Null ist).

(command1 & command2) verwendet zu gruppieren oder verschachteln mehrere Befehle.

Da in Ihrem Fall möchten Sie den ersten Befehl ausführen und dann die andere Operation mit-in es; Es ist nicht möglich, eines der oben genannten zu verwenden.

Sie müssen ein Skript schreiben, das Sie in der gleichen Zeile mit einem Befehl aufrufen können.

Sie können etwas tun: (WinSCP.com /script=<script_path>) && exit

Es gibt viele weitere Optionen in WinSCP.com command.

Verwandte Themen