Fehler bei WINSCP-Skript
Ich möchte ein komplettes Verzeichnis auf einem Server mit einer Batch-Datei löschen.
Der Aufruf über
"C:\Program Files (x86)\WinSCP\WinSCP.com" ^
/log=%log% /ini=nul ^
/command ^
"open ftp://User:Password@MyServer.de" ^
"rm /Folder1/Folder2/*.*" ^
"close" ^
"exit"
funktioniert, ist aber bei sehr großen Verzeichnissen mit mehreren 1000 Einträgen sehr langsam.
Ich möchte daher das komplette Verzeichnis 'in einem Rutsch' ohne Nachfrage löschen.
Der Aufruf über
"C:\Program Files (x86)\WinSCP\WinSCP.com" ^
/log=%log% /ini=nul ^
/command ^
"open ftp://User:Password@MyServer.de" ^
"rm -rf /folder1/folder2" ^
"close" ^
"exit"
bringt aber den Fehler: Unbekannter Schalter „rf“
Viele Grüße, Peter
Der Aufruf über
"C:\Program Files (x86)\WinSCP\WinSCP.com" ^
/log=%log% /ini=nul ^
/command ^
"open ftp://User:Password@MyServer.de" ^
"rm /Folder1/Folder2/*.*" ^
"close" ^
"exit"
funktioniert, ist aber bei sehr großen Verzeichnissen mit mehreren 1000 Einträgen sehr langsam.
Ich möchte daher das komplette Verzeichnis 'in einem Rutsch' ohne Nachfrage löschen.
Der Aufruf über
"C:\Program Files (x86)\WinSCP\WinSCP.com" ^
/log=%log% /ini=nul ^
/command ^
"open ftp://User:Password@MyServer.de" ^
"rm -rf /folder1/folder2" ^
"close" ^
"exit"
bringt aber den Fehler: Unbekannter Schalter „rf“
Viele Grüße, Peter
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 5991275453
Url: https://administrator.de/forum/fehler-bei-winscp-skript-5991275453.html
Ausgedruckt am: 06.04.2025 um 20:04 Uhr
7 Kommentare
Neuester Kommentar
Servus @Peter5,
lass das -rm weg der rm WinSCP-Befehl löscht alles untergeordnete automatisch bei Angabe eines Verzeichnisses.
Also
Des weiteren sollte man bei automatisierten Skripts immer die Option
setzen, damit eventuelle Nachfragen automatisch beantwortet werden. Diese Anweisung sollte natürlich vor den anderen Befehlen im Winscp command stehen.
Grüße Uwe
lass das -rm weg der rm WinSCP-Befehl löscht alles untergeordnete automatisch bei Angabe eines Verzeichnisses.
Also
1
"rm /folder1/folder2"
1
"option confirm off"
Grüße Uwe
Zitat von @Peter5:
@uwe
"rm /folder1/folder2/" funktioniert natürlich, aber bei zig-Tausend Dateien dauert das löschen eben sehr lange.
Das ist leider dem FTP-Protokoll an sich geschuldet. Bei FTP muss der Client zwingend jeden einzelnen Vorgang über den Control-Channel anstoßen und bestätigen lassen das dauert eben. Plain FTP wurde dafür nicht ausgelegt.@uwe
"rm /folder1/folder2/" funktioniert natürlich, aber bei zig-Tausend Dateien dauert das löschen eben sehr lange.
https://webmasters.stackexchange.com/questions/10921/quickly-deleting-lo ...
@thomas
ja. laut Beschreibung soll zum Löschen von "sehr großen" Verzeichnissen "rm -f -r" verwendet werden. Ich erhalte hier aber immer den Fehler: Unbekannter Schalter „f“ bzw. Unbekannter Schalter „r“
Das geht nur bei SSH(SFTP) Zugriff bei dem man echten Shellzugriff hat.ja. laut Beschreibung soll zum Löschen von "sehr großen" Verzeichnissen "rm -f -r" verwendet werden. Ich erhalte hier aber immer den Fehler: Unbekannter Schalter „f“ bzw. Unbekannter Schalter „r“
Als Workaround benennst du den Ordner bspw. statt zu Löschen in "junk" um und lässt diesen über einen Cron-Job beim Hoster vor Ort löschen, oder machst es wie in deinem letzten Beitrag angedacht über das Antriggern einer URL mit einem PHP-Skript dahinter.
Aber mal ehrlich, welcher trashige Hoster bietet 2023 nur plain FTP ohne Verschlüsselung an?!
Da kannst du ja gleich den Offenbarungseid leisten, wenn jeder Himpelhuber auf der Route das Passwort im Klartext mitlesen kann ... 🤔👎