batch script relativer Pfad zum synchronize local

Leja

Grünschnabel
Hallo Zusammen,

ich habe nun schon eine Weile die Suche bemüht, allerdings nichts gefunden - vielleicht suche ich auch nach dem falschen Stichwort.

Ich habe eine bat-Datei die mittels WinSCP Console aufgerufen wird um Bilder von einem FTP Server herunterzuladen.

Der synchronize Auszug in der zugehörigen .txt wie folgt:
Code:
synchronize local "C:\Ordner\Ordner\" -delete //Seite/images/Bilder

Ich möchte gerne, dass dort nicht "C:\Ordner\Ordner\" steht sondern der ein relativer Pfad in der die bat und die zugehörige txt liegen.

%~dp0 funktioniert in der txt leider nicht nur in der bat-Datei direkt.


Ich hoffe auf eure Hilfe/Tipps.

Danke & Grüße
 
Ich verstehe nicht ganz, was die Textdatei soll? Es funktioniert doch, wenn du es direkt in die Batchdatei schreibst.
Dein Problem ist wahrscheinlich, das die Textdatei nicht geparst wird und daher die Befehle nicht ausgeführt werden.
 
Hi, na doch wenn ich den oben genannten Code ausführe funktioniert es ja wunderbar. Aber gelegentlich verschiebt man so einen Ordner ja schon mal und da würde ich ungern immer alles anpassen wollen, daher die Suche nach einem Platzhalter für den Pfad. WinSCP braucht die txt.
 
Platzhalter für den Pfad der Batch Datei ist %~dp0. Du könntest versuchen mit %CD% das aktuelle Verzeichnis abzufragen. Allerdings funktionieren diese Sachen nur in Batch Files (Windows Command prompt). Die WinScp console verwendet eigene Befehle, vielleicht ist das das Problem.
http://winscp.net/eng/docs/scripting
Möglicherweise kannst du mit "call" eine batch-Datei aufrufen (siehe Link).
 
Mir fällt gerade noch was ein. Brauchst du das nur, um Daten zu ziehen oder führst du auf dem Server auch Skripte über WinScp aus? Im ersteren Fall ist wget vielleicht eine sinnvolle Alternative.
 

Neue Beiträge

Zurück