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 Oct 21, 2013 um 22:12:39 Uhr
Auf "Hinreichend beantwortet" gesetzt.
TO hat vermutlich umgeschult auf Pommesfrittierer oder zumindest dieses Beitrag vergessen..

Content-Key: 219432

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

Printed on: April 23, 2024 at 10:04 o'clock

Member: Xolger
Xolger Oct 15, 2013 at 13:03:14 (UTC)
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
Member: bastla
bastla Oct 15, 2013 updated at 13:18:13 (UTC)
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]
Member: Biber
Biber Oct 15, 2013 at 13:15:01 (UTC)
Goto Top
Moin bastla,

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

?
Grüße
Biber
Member: bastla
bastla Oct 15, 2013 updated at 13:19:01 (UTC)
Goto Top
Hallo Biber!

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

Ich korrigier's gleich oben.

Grüße
bastla