nulpen
Goto Top

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

Content-ID: 132326

Url: https://administrator.de/contentid/132326

Ausgedruckt am: 23.11.2024 um 08:11 Uhr

rubberman
rubberman 27.12.2009 um 17:20:55 Uhr
Goto Top
Hallo nulpen,
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
nulpen
nulpen 27.12.2009 um 18:55:28 Uhr
Goto Top
Danke rubberman,

teste ich mal aus.

Es handelt sich um Auftragsnummern die definitv nur einmal vorkommen.

Danke

Ralf
nulpen
nulpen 27.12.2009 um 19:00:41 Uhr
Goto Top
SUPER !!

War genau das was ich gebraucht habe.

Die Batch lege ich jetzt in den Taskplaner und der Rest passiert automatisch.

Danke rubberman


Ralf