Momentan bin ich FTP'ing
Datei in eine Unix-Box von a windows
Server. Ich möchte den folgenden Abschnitt des Skripts ändern und den FTP-Prozess migrieren 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
installiert in meinem Windows-Verzeichnis. Kann ich die Dateien mit SFTP versenden?
Wie kann ich die Leitung ersetzen? ftp -n -s:ftpcmd.dat %host%
SFTP sein. Ich verstehe, dass Sie so etwas tun können ....
CALL PSFTP.EXE [email protected] ....
Wenn jemandem bekannt ist, können Sie mir bitte dabei helfen. Welche Argumente würde ich geben. user, pw, remotedir, host-details werden in einer eigenschaftsdatei gespeichert. Ich suche Schlüssel statt Passwort. Können Sie das vorhandene Argument ftpcmd.dat an psftp übergeben?
psftp -l %user% -pw %password% -b sftpcmd.dat %host%
wo "sftpcmd.dat" enthältput %filetobeuploaded% %filepath%%FILE%
in einer Zeile undquit
übereinander? Der größte Unterschied scheint hier zu sein, dass, wie normalerweise bei ssh-orientierten Clients, der Benutzername beim Aufruf des Befehls angegeben werden muss und nicht wie bei herkömmlichem FTP nachträglich angegeben wird.Antworten:
Sie können auch WinSCP verwenden. Es unterstützt sowohl SFTP als auch Scripting.
Siehe die Anleitung zum Konvertieren eines Windows-FTP-Skripts in ein WinSCP-SFTP-Skript .
Das Skript wird wie folgt aussehen:
Sie können das Skript wie ausführen (falls gespeichert in)
script.txt
):Beachten Sie das (im Gegensatz zum
ftp.exe
), Umgebungsvariablen werden auch im WinSCP-Skript aufgelöst.Wenn Sie eine private Schlüsseldatei verwenden möchten, verwenden Sie Folgendes:
(Ich bin der Autor von WinSCP)
quelle