2016-11-09 3 views
-1

Ich versuche, auf einen FTP-Server mit dem folgenden Befehl aus einer Batch-Datei zu verbinden:„SFTP“ wird nicht als ein interner Befehl erkannt

SFTP -b upload_parent_child_report.ftp [email protected]%SERVER_NAME% >> parent_child_report.log 

Jedes Mal, wenn ich die Batch-Datei ausführen, erhalte ich die Fehler :

'sftp' is not recognized as an internal command.

ich in System32 Ordner überprüft und sftp dort nicht finden.
Ich suchte mein System und fand auch keines.
Ich habe auch PuTTY, aber ich muss die Übertragung von Dateien mit einer Batch-Datei automatisieren.

Irgendwelche Vorschläge bitte.

P.S: Ich weiß, dass es schon eine Frage diesbezüglich gibt, aber die Lösung ist mir nicht ganz klar.

Antwort

1

Es gibt keine sftp Binärdatei in Windows standardmäßig. Die sftp ist normalerweise eine OpenSSH-Binärdatei. Wenn Sie PuTTY haben, haben Sie psftp.exe, die mit OpenSSH sftp kompatibel ist.

So können Sie tun:

psftp -b upload_parent_child_report.ftp [email protected]%SERVER_NAME% >> parent_child_report.log 

Wenn Sie auf OpenSSH bestehen sftp, auf 10 Windows x64, können Sie Windows subsystem for Linux installieren. Das OpenSSH sftp ist enthalten.

In anderen Windows-Versionen können Sie Win32-OpenSSH verwenden (installieren Sie den Server nicht, verwenden Sie einfach die mitgelieferte sftp.exe Binärdatei) oder Cygwin.

+0

Danke @Martin für Ihre Antwort. Wenn wir sftp in Windows verwenden, wie machen wir das? Irgendwelche Pakete von Drittanbietern und Sachen von SSH? –

+0

Warum, wenn Sie 'psftp' haben? Wie auch immer, sehe meine aktualisierte Antwort. –

+0

Vielen Dank für Ihre Antwort. –

Verwandte Themen