68023

Suchen des zweiten Vorkommens eines Strings

Hallo,

wir haben gemeinsam hier dieses klasse Skript erarbeitet:

chcp 1252
@echo off & setlocal
cls

echo Alle Berichte werden mit dem aktuellen Monat versehen!

set jahralt=
set /p jahralt=Welches Jahr soll gesucht werden? 

set jahrneu=
set /p jahrneu=Welches neue Jahr soll eingetragen werden? 

set monat=
set /p monat=Welcher Monat soll eingetragen werden? 

echo Sollen jetzt wirklich alle Dateinamen ueberschrieben werden? 
echo Der Vorgang kann nicht rueckgaengig gemacht werden! 

set choice=
set /p choice=Geben Sie j fuer ja, n fuer nein ein. 
if /i "%choice%" neq "j" goto :END  

:rename
echo Dateinamen werden aktualisiert...
set "Muster=*_%jahralt%-*.xls"  

for %%i in ("%cd%\%Muster%") do for /f "delims=_" %%a in ("%%~ni") do ren "%%i" "%%a_%jahrneu%-%monat%%%~xi"   

:END
echo Zum Beenden beliebige Taste!
pause > NUL

Es funktioniert prima. Das Skript sucht nach dem Suchmuster und schneidet hinter _ ab und fügt das neue Datum an den Dateinamen.

Nun die Frage: Es kommen nun in den Dateinamen zwei _ vor. Erst nach dem zweiten soll abgeschnitten werden.
Wie kann ich das anpassen?

Danke!
Nico
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 95260

Url: https://administrator.de/forum/suchen-des-zweiten-vorkommens-eines-strings-95260.html

Ausgedruckt am: 28.04.2025 um 07:04 Uhr

bastla
bastla 25.08.2008 um 15:19:45 Uhr
Goto Top
Hallo Prinzipal87!

Versuch es mit der folgenden neuen Zeile 27:
for %%i in ("%cd%\%Muster%") do for /f "tokens=1-2 delims=_" %%a in ("%%~ni") do ren "%%i" "%%a_%%b_%jahrneu%-%monat%%%~xi"  
Grüße
bastla
68023
68023 25.08.2008 um 15:27:12 Uhr
Goto Top
Hallo!

Herzlichen Dank, das klappt super.
Darf ich fragen woher du dein Wissen nimmst?
Kannst du Literatur/Webseiten/etc empfehlen?

Ich bin ja lernwillig ,)
Nico
bastla
bastla 25.08.2008 um 16:29:51 Uhr
Goto Top
Hallo prinzipal87!

Auch wenn ich mit Batch (allerdings nur aus der "command.com"-Ära face-wink) "aufgewachsen" bin und daher ein gewisser Grundstock vorhanden war, habe ich mich doch erst in den letzten beiden Jahren wieder intensiver damit beschäftigt und eigentlich alles, was ich über die (viel umfangreicheren) Möglichkeiten der "cmd.exe" weiß, von dieser Website ... face-wink

Grüße
bastla