Windows-Variabel umschreiben - Backslash durch Slash ersetzen, Doppelpunkt entfernen
Hallo Leute,
ich möchte rsync für Windows einsetzen, das läuft unter cygwin. Viele kennen das ja sicherlich. Die Pfade gibt man dort ein im Format cygwin/C/Beispielordner/Subordner
Nun stehe ich aber vor folgendem Problem, denn ich mache folgendes:
1.) ich setze mein Zielverzeichnis auf einen Desktop-Ordner mit dem Befehl "SET DESTDIR=%USERPROFILE%\Desktop\Testing"
2.) wenn ich testweise als Zielverezeichnis C:\Testing wählen wollen würde, dann lautet der rsync-Befehl wie folgt:
"rsync.exe -rtv --delete /cygdrive/D/Quellverzeichnis /cygdrive/C/Testing"
Das synct dann quasi von D:\Quellverzeichnis --nach--> C:\Testing
Funktioniert ja auch. Aber nun möchte ich nich C:\Testing nutzen als Ziel, sondern %DESTDIR%, also C:\blabla\MaxMustermann\Desktop\Testing
Wenn ich einfach
c:\temp\rsync\rsync.exe -rtv --delete /cygdrive/A/ /cygdrive/%DESTDIR%
verwenden würde, schlägt das natürlich fehl, denn die Pfade sind von Cygwin inakzeptabel. Ich such also nun nach einer Möglichkeit, wie ich das lösen könnte. Brauch ich hierzu wirklich ein extra Tool, um meine vorher erstellte %DESTDIR% Variable zu zerstückeln, umzuschreiben und in eine neue Variable zu setzen? Ich hab mir überlegt, dass ich eben mit einem Extra "Suchen-und-Ersetzen" Tool á-la SED (Linux) arbeiten könnte und dann erstmal %DESTDIR% auslese, die Doppelpunkte entferne, und sämtliche Backslashes durch normale Slashes zu ersetzen. Würde das funktionieren?
Wie macht man das aber unter einer Windows-DOS-Shell? Vielleicht kann man das ja geschickt mit "for /f "tokens=xyz delims=\ usw..." lösen?? Hoffe jemand kann mir hierzu mit Tips und Ratschlägen behilflich sein.
Danke im Voraus.
ich möchte rsync für Windows einsetzen, das läuft unter cygwin. Viele kennen das ja sicherlich. Die Pfade gibt man dort ein im Format cygwin/C/Beispielordner/Subordner
Nun stehe ich aber vor folgendem Problem, denn ich mache folgendes:
1.) ich setze mein Zielverzeichnis auf einen Desktop-Ordner mit dem Befehl "SET DESTDIR=%USERPROFILE%\Desktop\Testing"
2.) wenn ich testweise als Zielverezeichnis C:\Testing wählen wollen würde, dann lautet der rsync-Befehl wie folgt:
"rsync.exe -rtv --delete /cygdrive/D/Quellverzeichnis /cygdrive/C/Testing"
Das synct dann quasi von D:\Quellverzeichnis --nach--> C:\Testing
Funktioniert ja auch. Aber nun möchte ich nich C:\Testing nutzen als Ziel, sondern %DESTDIR%, also C:\blabla\MaxMustermann\Desktop\Testing
Wenn ich einfach
c:\temp\rsync\rsync.exe -rtv --delete /cygdrive/A/ /cygdrive/%DESTDIR%
verwenden würde, schlägt das natürlich fehl, denn die Pfade sind von Cygwin inakzeptabel. Ich such also nun nach einer Möglichkeit, wie ich das lösen könnte. Brauch ich hierzu wirklich ein extra Tool, um meine vorher erstellte %DESTDIR% Variable zu zerstückeln, umzuschreiben und in eine neue Variable zu setzen? Ich hab mir überlegt, dass ich eben mit einem Extra "Suchen-und-Ersetzen" Tool á-la SED (Linux) arbeiten könnte und dann erstmal %DESTDIR% auslese, die Doppelpunkte entferne, und sämtliche Backslashes durch normale Slashes zu ersetzen. Würde das funktionieren?
Wie macht man das aber unter einer Windows-DOS-Shell? Vielleicht kann man das ja geschickt mit "for /f "tokens=xyz delims=\ usw..." lösen?? Hoffe jemand kann mir hierzu mit Tips und Ratschlägen behilflich sein.
Danke im Voraus.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 192678
Url: https://administrator.de/forum/windows-variabel-umschreiben-backslash-durch-slash-ersetzen-doppelpunkt-entfernen-192678.html
Ausgedruckt am: 06.04.2025 um 22:04 Uhr
8 Kommentare
Neuester Kommentar