zynerd
Goto Top

Batch: Dateiname manupulieren

Hallo Community,

ich bin am verzweifeln und hoffe das mir hier geholfen werden kann. Ich möchte die PDF Dateien in einem Verzeichnis lesen. Die Dateinamen sehen so aus

123400000-a.pdf
123400001-a.pdf
123400002-b.pdf

for %%i in  ("\temp\1234*.pdf") do @(  
set KNR=%%~ni
set KNR=%KNR:~0,9%
echo "Datei %%~ni und Kunde %KNR%"  
)

Die Variable KNR wird nicht gefüllt, aber die Ausgabe von %%~ni (Dateiname ohne .pdf) funktioniert.

Hoffe mir kann jemand einen Tipp geben.

Viele Grüße
Jay-Pee
Kommentar vom Moderator Biber am 22.10.2013 um 00:12:39 Uhr
Auf "Hinreichend beantwortet" gesetzt.
TO hat vermutlich umgeschult auf Pommesfrittierer oder zumindest dieses Beitrag vergessen..

Content-ID: 219432

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

Ausgedruckt am: 26.11.2024 um 10:11 Uhr

Xolger
Xolger 15.10.2013 um 15:03:14 Uhr
Goto Top
Hallo Jay-Pee,

schreib mal
setlocal
davor.

setlocal
for %%i in  ("\temp\1234*.pdf") do @(  
set KNR=%%~ni
set KNR=%KNR:~0,9%
echo "Datei %%~ni und Kunde %KNR%"  
)


Gruß
Xolger
bastla
bastla 15.10.2013 aktualisiert um 15:18:13 Uhr
Goto Top
... wobei sinnvoller Weise auf "setlocal" dann noch "enabledelayedexpansion" folgen sollte - das sähe dann (ungetestet) so aus:
setlocal enabledelayedexpansion
for %%i in  ("\temp\1234*.pdf") do @(  
    set "KNR=%%~ni"  
    set "KNR=!KNR:~0,9!"  
    echo Datei "%%~ni" und Kunde "!KNR!"  
)
Grüße
bastla

[Edit] Zeile 5 korrigiert [/Edit]
Biber
Biber 15.10.2013 um 15:15:01 Uhr
Goto Top
Moin bastla,

muss es in Zeile 05 nicht auch heissen..
..
..
    echo Datei "%%~ni" und Kunde "!KNR!"   
..

?
Grüße
Biber
bastla
bastla 15.10.2013 aktualisiert um 15:19:01 Uhr
Goto Top
Hallo Biber!

Sollte es jedenfalls (aber ich hatte zumindest "ungetestet" dazugeschrieben face-wink) ...

Ich korrigier's gleich oben.

Grüße
bastla