Variable mit REGEX ergänzen

Discussion forum for all Windows batch related topics.

Moderator: DosItHelp

Post Reply
Message
Author
sielbick

Variable mit REGEX ergänzen

#1 Post by sielbick » 24 Aug 2016 10:23

Guten Abend community,

ich bin jetzt schon seit zwei STuden über google am Suchen. Erstmal mein vorhandener Code:

Code: Select all

@echo off
cd C:\Downloads

:Start

set /p do= [u]mbennen / [b]eenden

if /I "%do%" == "u" goto Umbenennen
if /I "%do%" == "b" goto Beenden

:Umbenennen

set /p id=Geben Sie die AppID an:

set ex=export_%id%
ren %ex%*.tsv %ex%_24082016.tsv

set fa=failures-export_%id%
ren %fa%*.tsv %fa%_24082016.tsv

set ra=rating_%id%
ren %ra%*.tsv %ra%_24082016.tsv

set re=reviews_%id%
ren %re%*.tsv %re%_24082016.tsv

REM Das Datum wird im späteren Verlauf auch noch durch eine Variable ersetzt.

 goto Start

:Beenden

exit   


Das Skript soll im Downloadordner nach den entsprechenden Dateien suchen und diese umbenennen. Dabei ist der erste Dateteil immer derselbe. nur der hintere Teil ändert sich (*) jedesmal.
Hat mir da jemand eine Idee?

VG

aGerman
Expert
Posts: 4678
Joined: 22 Jan 2010 18:01
Location: Germany

Re: Variable mit REGEX ergänzen

#2 Post by aGerman » 24 Aug 2016 14:18

Hi sielbick

Users from all over the world join this forum. In order to have a common understanding English is the prefered language at DosTips.

Just to give a summary of your question:
You want to use a certain pattern in order to find file names beginning with that pattern and afterwards rename them accordingly.

You could use a FOR /F loop to process the output of DIR.

Code: Select all

for /f "delims=" %%i in ('dir /a-d /b "%ex%*.tsv"') do ren "%%~i" "%ex%_24082016.tsv"

May I suggest to use 20160824 rather than 24082016. Windows Explorer usually lists the files ordered by name ...

Steffen

Post Reply