Substring ? Batch
Guten Tag liebe Programmierer,
ich habe ein kleines Problem und zwar ich möchte von einem Datei die ersten 11 Zeichen übernehmen und wonaders hinzufügen
zb. 2014-03-24-HalloWelt.txt soll in OrdnerA verschoben werden und zu 2014-03-24-erledigt.txt umbenannt werden. Wie sieht so ein Code aus?
Hab hier mal ein Beispiel, wie es grundsätzlich geht, aber ich weiss nicht wie ich den Ordner Name angeben könnte. Man könnte es eventuell als ein variablen festlegen das der Pfad 2014-03-24-HalloWelt.txt machen, weil der Datei-Namen sich immer ändern wird, aber ich wüsste nicht wie sowas aussieht,
SET _test=123456789abcdef0
SET _result=%_test:~0,5%
ECHO %_result% =12345
komme einfach nicht weiter.
Kann mir da weiter helfen bitte
ich habe ein kleines Problem und zwar ich möchte von einem Datei die ersten 11 Zeichen übernehmen und wonaders hinzufügen
zb. 2014-03-24-HalloWelt.txt soll in OrdnerA verschoben werden und zu 2014-03-24-erledigt.txt umbenannt werden. Wie sieht so ein Code aus?
Hab hier mal ein Beispiel, wie es grundsätzlich geht, aber ich weiss nicht wie ich den Ordner Name angeben könnte. Man könnte es eventuell als ein variablen festlegen das der Pfad 2014-03-24-HalloWelt.txt machen, weil der Datei-Namen sich immer ändern wird, aber ich wüsste nicht wie sowas aussieht,
SET _test=123456789abcdef0
SET _result=%_test:~0,5%
ECHO %_result% =12345
komme einfach nicht weiter.
Kann mir da weiter helfen bitte
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 233505
Url: https://administrator.de/forum/substring-batch-233505.html
Ausgedruckt am: 12.05.2025 um 20:05 Uhr
5 Kommentare
Neuester Kommentar
Hey, zwei Beispiele:
Für Hilfe siehe
Gruss Endoro.
@ECHO OFF &SETLOCAL disableDelayedExpansion
SET "FName=2014-03-24-HalloWelt.txt"
SET "N1Name=%FName:~0,11%erledigt.txt"
ECHO %N1Name%
FOR /f "tokens=1-3delims=-" %%a IN ("%FName%") DO SET "N2Name=%%a-%%b-%%c-erledigt.txt"
ECHO %N2Name%
set /?
und for /?
.Gruss Endoro.
In der ersten For-Schleife werden mit dem Muster
Gruss Endoro.
*-*-*-*.txt
alle Dateien bearbeitet, die mindestens drei Striche und die Endung .txt haben. In der zweiten Schleife wird der (immer andere) Name ausenander genommen und anschliessend wieder zusammengesetzt und um "erledigt.txt" ergänzt. Du kannst die Dateien umbenannt auch gleich in einen Ordner verschieben:@ECHO OFF &SETLOCAL disableDelayedExpansion
CD /c X:\My Folder
FOR /f "delims=" %%x IN ('DIR /b /a-d *-*-*-*.txt') DO (
FOR /f "tokens=1-3delims=-" %%a IN ("%%~x") DO (
MOVE "%%~x" "Y:\FOLDER\%%a-%%b-%%c-erledigt.txt"
)
)