Ich bin gerade dabei, FTP'ing
Dateien 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.EXE
es 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)