'mehrwörtige' Variablen in Windows Batch
Von: , Frage gestellt am Di, 20. Okt 2009
Hallo,
Zunächst: Entschuldigung für "mehrwörtige" klingt doof, kürzer gehts aber nicht.
Dann zum eigentlichen "Problem":
Ich habe ein Windows Batch Skript in dem u.a. folgendes drin vorkommt:
for /f "tokens=2 delims=#" %%a in ('dir /b ch#*') do ren ch#%%a %%a
Kurze Erklärung, was hiermit erreicht werden soll bzw wird:
Wenn ein Dateiname die Vorsilbe ch# aufweist, dann wird diese entfernt und der dahinter stehende Rest wird zum Dateinamen.
Nun ist mein Problem, dass dieses nur funktioniert, wenn hinter dem ch# nur EIN Wort steht bzw. KEIN LEERZEICHEN vorkommt:
ch#test -> test
ch#testtest -> testtest
aber:
ch#test test -> ch#test test
ch# testtest -> ch# testtest
Hoffentlich verständlich?
Nun reicht es aber nicht aus, die Variablen in Anführungszeichen zu setzen ("ch#%%a" "%%a").
Was muss ich nun tun, dass ich beliebig viele Leerzeichen im Dateinamen verwenden kann und die Vorsilbe trotzdem entfernt wird.
Vielen Dank,
Martin
