Ersetzen Sie FTP durch SFTP, um Dateien zu übertragen – NUR PSFTP.EXE

Ersetzen Sie FTP durch SFTP, um Dateien zu übertragen – NUR PSFTP.EXE

Ich bin gerade dabei, FTP'ingDateien von einem Server auf eine Unix-Box zu übertragen windows. Ich möchte den folgenden Abschnitt des Skripts ändern und den FTP-Prozess so migrieren, dass er … ist sftp.

@echo off
echo user %user%> ftpcmd.dat
echo %password%>> ftpcmd.dat
echo bin>> ftpcmd.dat
echo put %filetobeuploaded% %filepath%%File%>> ftpcmd.dat
echo quit>> ftpcmd.dat
ftp -n -s:ftpcmd.dat %host%
del ftpcmd.dat
:END

Ich habe PSFTP.EXEes in meinem Windows-Verzeichnis installiert. Kann ich damit die Dateien per SFTP versenden?

Wie kann ich die Zeile ftp -n -s:ftpcmd.dat %host%durch SFTP ersetzen? Ich verstehe, dass man so etwas machen kann...

CALL PSFTP.EXE [email protected] ....

Wenn sich jemand damit auskennt, kann er mir bitte helfen, es zu vervollständigen. Welche Argumente würde ich angeben? Benutzer, Passwort, Remote-Verzeichnis, Hostdetails werden in einer Eigenschaftendatei gespeichert. Ich möchte Schlüssel anstelle von Passwörtern verwenden. Können Sie das vorhandene ftpcmd.dat-Argument an psftp übergeben?

Antwort1

Sie können auch WinSCP verwenden. Es unterstützt sowohl SFTP als auch Scripting.

Sehen Sie sich dieAnleitung zum Konvertieren eines Windows-FTP-Skripts in ein WinSCP-SFTP-Skript.

Das Skript sieht folgendermaßen aus:

open sftp://%user%:%password%@%host%
put -transfer=binary %filetobeuploaded% %filepath%%File%
exit

Sie können das Skript wie folgt ausführen (sofern es unter gespeichert wurde script.txt):

winscp.com /script=script.txt

Beachten Sie, dass (im Gegensatz zu ftp.exe) Umgebungsvariablen auch im WinSCP-Skript aufgelöst werden.

Wenn Sie eine private Schlüsseldatei verwenden möchten, verwenden Sie:

open sftp://%user%@%host% -privatekey=path\key.ppk

(Ich bin der Autor von WinSCP)

verwandte Informationen