WinSCP Putting mehrere Dateien auf SFTP-Website

Mit WinSCP 5.2 wollte ich mehrere Dateien mit der Dateierweiterung .pgp auf einer SFTP-Site ablegen. Als ich meine ursprüngliche Befehlszeile getestet habe (siehe unten) und sie nur die erste alphabetische Datei *.pgp (D:\a.csv.pgp) auf der SFTP-Site platziert hat. Ich habe versucht, *.PGP und *.pgp ohne Änderungen anzugeben - jedes Mal wird nur eine Datei (D:\a.csv.pgp) kopiert. Ich habe es nur für alle Dateien zum Laufen gebracht, wenn ich für jede .pgp Datei einen put-Befehl angegeben habe. Irgendwelche Ideen, wie man alle *.pgp auf das SFTP setzt website?

Ursprüngliche Befehlszeile-Funktioniert nicht
d:\winscp\winscp /command "option echo off" "option batch on" "option confirm off" "open sftp" "put D:\*.pgp" "close" "exit"

Funktioniert
d:\winscp\winscp /command "option echo off" "option batch on" "option confirm off" "open sftp" "put D:\a.csv.pgp" "put D:\b.csv.pgp" "put D:\c.csv.pgp" "put D:\d.csv.pgp" "put D:\e.csv.pgp" "put D:\f.csv.pgp" "put D:\g.csv.pgp" "put D:\h.csv.pgp" "put D:\i.csv.pgp" "close" "exit"

Author: Martin Prikryl, 2011-09-22

3 answers

Sie scheinen den SFTP-Modus anstelle des SCP-Modus zu verwenden

Try mput *.pgp (eine Vermutung, basierend auf FTP-Befehle)

Das Handbuch besagt, dass Platzhalter funktionieren sollten

put <file> [ [ <file2> ... ] <directory>/[ <newname> ] ]
Wenn nur ein Parameter angegeben ist, lädt die Datei in das Remote-Arbeitsverzeichnis hoch. Wenn mehr Parameter angegeben sind, geben alle außer dem letzten Satz von Dateien an, die hochgeladen werden sollen. Der letzte Parameter gibt das Ziel-Remote-Verzeichnis und optional die Operationsmaske zum Speichern von Dateien unter an anderen Namen. Zielverzeichnis muss mit Schrägstrich enden. Dateiname kann durch Windows wildcard1) ersetzt werden, um mehrere Dateien auszuwählen. Um weitere Dateien in das aktuelle Arbeitsverzeichnis hochzuladen, verwenden Sie ./ als letzter Parameter.

put *.html *.png /home/martin/backup/*.bak

Sie MÜSSEN das Zielverzeichnis als letztes Element in den zitierten Befehl einfügen.

d:\winscp\winscp /command "option echo off" "option batch on" "option confirm off" "open sftp" "put D:\*.pgp ""C:\Documents and Settings\newtowinscp\Documents\Backups""" "close" "exit"

 3
Author: RedGrittyBrick,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2011-09-22 23:28:34

Wenn Sie dies über ein Skript ausführen, können Sie einfach eine Schleife erstellen. Sie würden alle *nehmen.pgp-Dateien und durchlaufen die Liste. Sie würden die Dateien tatsächlich einzeln hochladen; Ich glaube nicht, dass SFTP/SCP auf Protokollebene sowieso mehrere Dateien gleichzeitig verschiebt, daher denke ich nicht, dass dies die Leistung beeinträchtigen sollte, da dies wahrscheinlich auch die Fehlerbehandlung erleichtern würde.

Ich glaube, es gibt eine Möglichkeit, dies mit der reinen nativen Befehlszeile zu tun, aber in meinen Backup-Skripten (ich tue umgekehrt ziehe ich Dateien von meiner SFTP-Site herunter) Ich benutze dieses Programm (forfiles) von Microsoft: http://technet.microsoft.com/en-us/library/cc753551 (WS.10).aspx . Ich lasse Sie die Beispiele dort durchlesen, wie Sie es am effektivsten für Ihre Bedürfnisse verwenden können. Grundsätzlich verwenden Sie einen Platzhalter für filename und führen dann Ihren Upload-Befehl für jede Instanz aus.

 1
Author: Eric G,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2011-09-22 23:40:47

An Ihrem ersten Befehl ist nichts falsch (mit put D:\*.pgp).

Wenn Sie behaupten, dass nur eine einzelne Datei hochgeladen wird, liegt dies wahrscheinlich daran, dass ein Fehler auftritt, der verhindert, dass das Skript mit anderen Dateien fortfährt. Es muss ein Fehler im Betrieb sein, der dem tatsächlichen Upload folgt (wenn dies erfolgreich ist), z. B. das Aktualisieren des Zeitstempels oder der Berechtigungen hochgeladener Dateien.

Wie dieser Fehler: Hochladen der Datei .. war erfolgreich, aber beim Festlegen der Berechtigungen und/oder zeitstempel. Wenn das Problem weiterhin besteht, deaktivieren Sie das Festlegen von Berechtigungen oder das Beibehalten des Zeitstempels. Alternativ können Sie die Option "Berechtigungsfehler ignorieren" aktivieren..

Sie sollten deutlich sehen, was in der Skriptausgabe oder Sitzungsprotokolldatei tatsächlich falsch ist.

 0
Author: Martin Prikryl,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2017-03-09 07:53:08