Suchen und Ersetzen eines Zeichensatzes in einem Dateipfad
Hallo Gemeinde,
ich habe gerade nochmal einen anderen Gedanken gehabt und schon probiert, bin aber noch nicht zum Erfolg gekommen.
Die Umgebungsvariable %download% repräsentiert den folgenden Pfad.
Jetzt könnten weitere Unterverzeichnisse existieren. Nehmen wir an es würde ein Unterverzeichnis existieren.
In der Variable %%i steht dieser Pfad. Jetzt suche ich schon den ganzen Nachmittag nach einer Möglichkeit das Wort "Download" durch "Upload" zu ersetzen. Ein einfaches Suchen und Ersetzen würde dazu führen, dass auch andere Ordner bspw. Download\Test\Download auch ersetzt werden. Das soll jedoch nicht geschehen. Jetzt gibt es für mich zwei Möglichkeiten.
1) Entweder man sucht jetzt den Teil zwischen dem 7 und 8 "\" und plaziert dort den Zeichensatz "Upload".
2) Man sucht von links den ersten Zeichensatz "Download" und ersetzt diesen mit "Upload"
LG
3x
ich habe gerade nochmal einen anderen Gedanken gehabt und schon probiert, bin aber noch nicht zum Erfolg gekommen.
for /R "%download%" %%i in (*.mp3) do lame %lame% "%%i" "%%k"
Die Umgebungsvariable %download% repräsentiert den folgenden Pfad.
C:\Dokumente und Einstellungen\iheinrich\Eigene Dateien\Musik\Workarea\Workspace\Download
Jetzt könnten weitere Unterverzeichnisse existieren. Nehmen wir an es würde ein Unterverzeichnis existieren.
C:\Dokumente und Einstellungen\iheinrich\Eigene Dateien\Musik\Workarea\Workspace\Download\Test
In der Variable %%i steht dieser Pfad. Jetzt suche ich schon den ganzen Nachmittag nach einer Möglichkeit das Wort "Download" durch "Upload" zu ersetzen. Ein einfaches Suchen und Ersetzen würde dazu führen, dass auch andere Ordner bspw. Download\Test\Download auch ersetzt werden. Das soll jedoch nicht geschehen. Jetzt gibt es für mich zwei Möglichkeiten.
1) Entweder man sucht jetzt den Teil zwischen dem 7 und 8 "\" und plaziert dort den Zeichensatz "Upload".
2) Man sucht von links den ersten Zeichensatz "Download" und ersetzt diesen mit "Upload"
LG
3x
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 176185
Url: https://administrator.de/forum/suchen-und-ersetzen-eines-zeichensatzes-in-einem-dateipfad-176185.html
Ausgedruckt am: 23.12.2024 um 05:12 Uhr
8 Kommentare
Neuester Kommentar
Hallo 3xplor3r und willkommen im Forum!
durch
ersetzt.
Ansonsten könntest Du vielleicht etwas genauer erklären, was Du eigentlich erreichen willst ...
Trotzdem noch zu Idee 1): Ungetestet etwa so:
Es sollte dann aber schon für alle Dateien mindestens 8 Ordnerebenen geben ...
Grüße
bastla
P.S.: Darf ich Dich einladen, für Batchzeilen (oder etwa auch Textbeispiele, die unverändert dargestellt werden sollen) "Code"- zu benutzen?
Ein einfaches Suchen und Ersetzen würde dazu führen, dass auch andere Ordner bspw. Download\Test\Download auch ersetzt werden
Nicht, wenn DuC:\Dokumente und Einstellungen\iheinrich\Eigene Dateien\Musik\Workarea\Workspace\Download
C:\Dokumente und Einstellungen\iheinrich\Eigene Dateien\Musik\Workarea\Workspace\Upload
Ansonsten könntest Du vielleicht etwas genauer erklären, was Du eigentlich erreichen willst ...
Trotzdem noch zu Idee 1): Ungetestet etwa so:
for /f "tokens=1-8* delims=\" %%m in ("%%i") do (
if /i "%%t"=="Download" (
echo Mach was mit "%%m\%%n\%%o\%%p\%%q\%%r\%%s\Upload\%%u"
) else (
echo Mach was mit "%%i"
)
)
Grüße
bastla
P.S.: Darf ich Dich einladen, für Batchzeilen (oder etwa auch Textbeispiele, die unverändert dargestellt werden sollen) "Code"- zu benutzen?
Hallo 3xplor3r!
Einer Laufvariablen wie
Alternativ kannst Du den Wert auch vorweg einer Variablen zuweisen und dann diese verwenden, also:
Grüße
bastla
Einer Laufvariablen wie
%%q
kannst Du mit set
keinen Wert zuweisen - da Du aber ohnehin den gewünschten Wert kennst (bzw dafür kennen musst), spricht ja eigentlich nix dagegen, diesen gleich direkt einzufügen: echo IF-Zweig "%%j\%%k\%%l\%%m\%%n\%%o\%%p\Upload\%%r"
set "Up=Upload"
...
echo IF-Zweig "%%j\%%k\%%l\%%m\%%n\%%o\%%p\%Up%\%%r"
bastla