jocheng
Goto Top

Dateinamen umschreiben batch

Hi Leute ich trete mal wieder auf der Stelle. Es geht darum Bilddaten umzuschreiben. Ich bin auch fast am Ziel nur habe ich mit folgendem Code ein Problem

@echo off & setlocal enabledelayedexpansion
set "quelle=D:\test2"  
set "ziel=D:\test2\2"  
set "csv=D:\test2\bildernamenscript\namen.csv"  
for /f "usebackq tokens=1,2 delims=;" %%a in ("%csv%") do (  
    for %%c in ("%quelle%\%%a*") do (  
        set "name=%%~nxc"  
        copy "%%c" "%ziel%\!name:%%a=%%b!"  
    )
)

Auszug aus der namen.csv:
-5_white;-4
-6_white;-3
-8_white;-12

Die Bildernamen sind
AK4921-5_white
AK4921-6_white
AQ4921-8_white
AK4963-3_white
etc

nun will ich als Resultat:
das die Datein am Ende
AK4921-4
AK4921-3
etc heißen.

abschneiden des Dateinamen geht nicht face-sad

Content-ID: 317577

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

Ausgedruckt am: 05.11.2024 um 21:11 Uhr

131026
131026 12.10.2016 aktualisiert um 12:09:36 Uhr
Goto Top
Schon mal folgende Stelle angeschaut face-wink
"%quelle%\%%a*"
Dann sollte es jetzt in beiden Ohren klingeln. Stichwort "Wildcard".

Gruß R.
jocheng
jocheng 12.10.2016 um 12:38:23 Uhr
Goto Top
ja ich hatte auch schon *a* aber das klappt auch nicht face-sad
131026
Lösung 131026 12.10.2016 aktualisiert um 12:41:06 Uhr
Goto Top
"%quelle%\*%%a"
geht hier problemlos.
jocheng
jocheng 12.10.2016 um 13:03:37 Uhr
Goto Top
perfekt danke ich hatte ide ganze zeit %%* face-sad
131026
131026 12.10.2016 aktualisiert um 13:06:24 Uhr
Goto Top
Du solltest dir vielleicht mal
https://de.wikibooks.org/wiki/Batch-Programmierung:_Batch-Befehle#FOR
durchlesen. %%a ist die Laufvariable der Schleife, da kannst du nicht einfach den Variablennamen weglassen face-wink