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-Key: 132326

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

Printed on: April 19, 2024 at 03:04 o'clock

Member: rubberman
rubberman Dec 27, 2009 at 16:20:55 (UTC)
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
Member: nulpen
nulpen Dec 27, 2009 at 17:55:28 (UTC)
Goto Top
Danke rubberman,

teste ich mal aus.

Es handelt sich um Auftragsnummern die definitv nur einmal vorkommen.

Danke

Ralf
Member: nulpen
nulpen Dec 27, 2009 at 18:00:41 (UTC)
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