Upload Fritz.Box mittels curl in Batch
Ich möchte mehrere Dateien mit Curl auf das Netzverzeichniss meiner Fritz.Box mit curl in einem Batch hochladen.
Die Verzeichnissdatei:
Sicherungsdatei:
Mein gebastelter Batch sieht so aus:
Wie wird der zweite Teil des Tokens der Variabel %%j zugewiesen?
Die Verzeichnissdatei:
Sicherungsdatei:
C:\Users\User\Documents\Literatur\inhalt_39.txt \Literatur\inhalt_39.txt C:\Users\User\Documents\Literatur\inhalt_40.pdf \Literatur\inhalt_40.pdf C:\Users\User\Documents\Literatur\inhalt_40.txt \Literatur\inhalt_40.txt C:\Users\User\Documents\Literatur\inhalt_41.pdf \Literatur\inhalt_41.pdf C:\Users\User\Documents\Literatur\inhalt_41.txt \Literatur\inhalt_41.txt C:\Users\User\Documents\Literatur\inhalt_42_43.pdf \Literatur\inhalt_42_43.pdf C:\Users\User\Documents\Literatur\inhalt_42_43.txt \Literatur\inhalt_42_43.txt C:\Users\User\Documents\Literatur\inhalt_44.pdf \Literatur\inhalt_44.pdf
Mein gebastelter Batch sieht so aus:
FOR /F "tokens=1,2 delims= " %%i IN ("Sicherungsdatei.txt") DO (
curl -K --ftp-ssl -3 -T "%%i" "ftp://192.168.178.1/LW/%%j" )
Wie wird der zweite Teil des Tokens der Variabel %%j zugewiesen?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 169549
Url: https://administrator.de/contentid/169549
Ausgedruckt am: 26.11.2024 um 09:11 Uhr
3 Kommentare
Neuester Kommentar
Auch kein Hallo,
Dein Script wird so nicht funktionieren. Du setzt den Dateinamen in der Klammer der
Als Trennzeichen hast Du mit
Um das gewünschte Verhalten zu erzielen, musst Du
Du hast aber ein Problem, wenn der Pfad zu einer zu kopierenden Datei Leerzeichen enthält. Evtl. solltest Du beim Erzeugen der Datei mit den zu sichernden Dateien ein anderes Trennzeichen als das Leerzeichen verwenden.
Und dann wären da noch die Backslashes in den Zielpfaden. Das müssten natürlich normale Slashes sein...
Ausführliche Informationen zur
Auch keinen Gruß
Friemler
Dein Script wird so nicht funktionieren. Du setzt den Dateinamen in der Klammer der
FOR
-Schleife in Anführungszeichen. Dadurch wird er als Zeichenkette aufgefasst, die zerlegt werden soll.Als Trennzeichen hast Du mit
"delims= "
das Leerzeichen definiert (bräuchtest Du aber nicht, da das Leerzeichen zusammen mit dem Tab-Zeichen standardmäßig als Trennzeichen vordefiniert ist). Da Sicherungsdatei.txt
kein Leerzeichen enthält, wird die Laufvariable %%i
den Wert Sicherungsdatei.txt
haben und die automatisch erzeugte Laufvariable %%j
leer sein.Um das gewünschte Verhalten zu erzielen, musst Du
"usebackq tokens=1,2"
schreiben.Du hast aber ein Problem, wenn der Pfad zu einer zu kopierenden Datei Leerzeichen enthält. Evtl. solltest Du beim Erzeugen der Datei mit den zu sichernden Dateien ein anderes Trennzeichen als das Leerzeichen verwenden.
Und dann wären da noch die Backslashes in den Zielpfaden. Das müssten natürlich normale Slashes sein...
Ausführliche Informationen zur
FOR
-Schleife liefert mein Tutorial zur FOR-Schleife.Auch keinen Gruß
Friemler
Hallo majcho,
der Sinn von
Gruß
Friemler
der Sinn von
usebackq
ist eigentlich, dass man Dateinamen in der Klammer von FOR
in Anführungszeichen setzen kann. Somit können sie auch Leerzeichen enthalten. Wenn Du den Dateinamen ohne Anführungszeichen schreibst, kannst Du usebackq
auch weglassen. In beiden Fällen darf der Dateinamen dann aber keine Leerzeichen enthalten.Gruß
Friemler