Zeichen aus Ordnernamen entfernen und vorher prüfen auf Länge des Ordnernamens
Hallo Leute habe hier schon viel Hilfe gefunden und würde gerne selbst mal was rauskriegen.
Hallo,
ich habe durch das Auslesen von Barcodes automatisch Verzeichnisordner anlegen lassen:
91234564
94567893
94567892
92222543
usw.
Nun handelt es sich bei den Bezeichnungen um Barcodes mit den Prüf/Sonstigen Ziffern vorne und hinten, d.h der eigentlich wichtige Wert steht 6-stellig in der Mitte.
9 123456 4
9 456789 3 usw.
Ich würde nun gerne per batch die Ordner auf einen Schlag um das erste und letzte Zeichen kürzen damit das Ergebnis
123456
456789 usw
ist.
Nur mit Kürzen alleine geht es nicht weil ja dann die Ordnernamen immer kürzer werden würden, daher die Vorabprüfung ob der Ordnername 8-stellig ist.
Sonst wäre das Ergebnis ja
123456
1234
12 usw.
Ich will das einmal am Tag über die Ordner per script/batch laufen lassen.
Danke
Ralf
Hallo,
ich habe durch das Auslesen von Barcodes automatisch Verzeichnisordner anlegen lassen:
91234564
94567893
94567892
92222543
usw.
Nun handelt es sich bei den Bezeichnungen um Barcodes mit den Prüf/Sonstigen Ziffern vorne und hinten, d.h der eigentlich wichtige Wert steht 6-stellig in der Mitte.
9 123456 4
9 456789 3 usw.
Ich würde nun gerne per batch die Ordner auf einen Schlag um das erste und letzte Zeichen kürzen damit das Ergebnis
123456
456789 usw
ist.
Nur mit Kürzen alleine geht es nicht weil ja dann die Ordnernamen immer kürzer werden würden, daher die Vorabprüfung ob der Ordnername 8-stellig ist.
Sonst wäre das Ergebnis ja
123456
1234
12 usw.
Ich will das einmal am Tag über die Ordner per script/batch laufen lassen.
Danke
Ralf
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 132326
Url: https://administrator.de/contentid/132326
Ausgedruckt am: 23.11.2024 um 08:11 Uhr
3 Kommentare
Neuester Kommentar
Hallo nulpen,
versuchs mal so:
Wie stellst du sicher, dass nicht schon ein Verzeichnis mit einem der erzeugten Namen existiert?
Grüße
rubberman
versuchs mal so:
@echo off &setlocal
for /d %%i in (*) do set "name=%%i" &call :sub
goto :eof
:sub
if "%name:~7%"=="" goto :eof
if not "%name:~8%"=="" goto :eof
ren "%name%" "%name:~1,6%"
goto :eof
Wie stellst du sicher, dass nicht schon ein Verzeichnis mit einem der erzeugten Namen existiert?
Grüße
rubberman