Batch Batch automatisch ausführen in Ordnern mit verschiedenen Daten

nicoc83

Newbie
Registriert
Dez. 2014
Beiträge
1
Hallo Leute,

ich komme leider nicht weiter.
Ich möchte mir eine Batchdatei erstellen die jeden Tag einmal ausgeführt wird und dann in den gestrigen angelegten Ordner geht und folgendes ausführt :

cd \
cd mp3DirectCut
mp3DirectCut.exe Z:\Radio\HouseTime.fm_%d\Ht.fm.mp3 /autocue Z:\Radio\HouseTime.fm_%d\
sleep 300 <- damit die Datei nach dem schneiden gelöscht wird um unnötigen Datenmüll zu vermeiden
DEL Z:\Radio\HouseTime.fm_%d\Ht.fm.mp3

-> HouseTime.fm_%d <- Das %d soll für das gestrige Datum stehen aber ich habe keine Ahnung wie ich das hinbekomme das die Batchdatei z.B heute startet und in den Ordner von gestern guckt und dann auch noch das o.g. Script ausführt.

Also die Ordner sehen immer so aus :

HouseTime.fm_07.12.14
HouseTime.fm_08.12.14
usw...

Ich hoffe ich habe das einigermaßen verständnisvoll erklärt :(
und irgendjemand hat einen Tipp für mich

Gruß
Nico
 
Meine erste Idee wäre gewesen einfach das Datum in ne Variable zu schreiben und dann einen Tag abziehen (geht aber schlecht wenn es z.B. der erste des Monats ist).

Das hier hab ich gefunden http://stackoverflow.com/questions/...gramming-howto-get-and-display-yesterday-date :
"
There is a much cheaper way of doing this, exclusively in batch. I know its rough, but it worked for me :)

Basically write yesterdays date into a text file (yesterday.txt) then call it next time the process runs. Works for a process I have that runs once a day only.

::pick up yesterdays date from file ::Needs to be done as the file generated today is yesterdays report. for /F "tokens=1" %%a IN (D:\BIN\Yesterday.txt) DO set yest=%%a

::Write todays date to file for use tomorrow echo %date% >D:\BIN\Yesterday.txt

Then you can call yesterdays date as Variable %yest%."

Vllt. hilft das ja. :)

EDIT: Etwas komplizierter (und evtl. nichtmal passend), aber das soll die batch Hilfe Seite sein: http://www.robvanderwoude.com/datetiment.php#Yesterday )
 
Ich würde es mit Powershell lösen. Sollte bei jedem neueren Windows dabei sein. (get-date).AddDays(-1) sollte dann das problem lösen
 
Zurück
Oben