cali169
Goto Top

Datum via Batch in Dateiname auslesen und Aktion ausführen

Hallo zusammen,

ich habe etwas gegoogelt aber nichts gefunden.
ich hoffe auf eure Hilfe und bedanke mich schon im Voraus dafür.

ich habe eine Batchsicherung, welche mir täglich Datenbanken sichert. Der Dateiname sieht wie folgt aus
HSYYYY-MM-DD
wobei hier natürlich immer das aktuelle Datum geschrieben wird. Die Dateien werden im Verzeichnis "D:\Sicherung" hinterlegt.

Nun benötige ich ein Batchscript welches in dem Verzeichnis den Dateinamen ausliest und einen Kopiervorgang der
Dateien auslöst, welche im Tag ein 5 enthalten. Somit sollten 3 Datein im Monat in das andere Verzeichnis kopiert werden. Die Syntax fürs kopieren ist kein Problem, der Rest schon.
Wäre dankbar für eine Lösung. thx nochmals.

Content-Key: 189221

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

Printed on: April 18, 2024 at 16:04 o'clock

Member: Karo
Karo Aug 07, 2012 at 13:39:20 (UTC)
Goto Top
Tach,

@echo off
Setlocal EnableDelayedExpansion
for /F %%i in ('dir /B /A-D D:\Sicherung') do (  
  SET var=%%i
  IF "!var:~-1!"=="5" echo !var!  
)

bye
Karo
Member: pieh-ejdsch
pieh-ejdsch Aug 07, 2012 updated at 13:53:28 (UTC)
Goto Top
moin cali169,

mit xcopy kannst Du soetwas auch wunderbar lösen:
xcopy /Di D:\Sicherung\*-??-?5 "D:\Anderes Verzeichnis\"

Gruß Phil
Member: cali169
cali169 Aug 07, 2012 at 14:05:06 (UTC)
Goto Top
Hallo Karo,

thx für Deine Antwort. Leider funktioniert das Kopieren nach D:\Sicherungtest nicht.
Habe das Script für das Verzeichnis angepasst. Die CMD startet und schliesst sich gleich. Ist bestimmt ein Denkfehler bei mir bzw. was mache ich falsch?
Member: cali169
cali169 Aug 07, 2012 at 14:14:45 (UTC)
Goto Top
Hi Phil,

thx für Deine Antwort. Bei Deiner Lösung nimmt er mir alle Ordner aus dem August mit. Ferner fehlen Die Dateien in den Ordnern.

mfg Sven
Member: pieh-ejdsch
pieh-ejdsch Aug 07, 2012 at 14:23:55 (UTC)
Goto Top
Na die Datenbanken werden sicherlich eine Dateiendung haben.
Wenn diese an den Namen mit Platzhaltern angefügt werden, sollte es richtig kopieren.

Die Option /Listet nur auf:
xcopy /L /Di D:\Sicherung\*-??-?5.EXT D:\Sicherungtest\
Gruß Phil
Member: Karo
Karo Aug 07, 2012 at 14:26:09 (UTC)
Goto Top
Was hast Du denn eingefügt? Muß ja anstelle des echo !var! gesetzt werden

IF "!var:~-1!"=="5" (x)copy .....

Karo
Member: bastla
bastla Aug 07, 2012 at 21:16:19 (UTC)
Goto Top
@ph
Nur ganz nebenbei: Wenn das Ziel (durch den abschließenden Backslash) als Verzeichnis erkennbar ist, braucht's kein "/i" ...

Grüße
bastla
Member: bastla
bastla Aug 07, 2012 at 21:21:00 (UTC)
Goto Top
Hallo cali169!
Ferner fehlen Die Dateien in den Ordnern.
Was meinst Du damit? Bisher war eigentlich nur von Dateien die Rede, nicht davon, dass Ordner kopiert werden sollten ...

Außerdem:
Die CMD startet und schliesst sich gleich.
Tut sie nicht, wenn Du, wie es generell zu empfehlen ist, zuerst eine CMD-Shell öffnest und von dort aus den Batch testest (oder zumindest am Ende noch eine Zeile
pause
hinzufügst).

Grüße
bastla
Member: cali169
cali169 Aug 20, 2012 at 12:23:12 (UTC)
Goto Top
hallo zusammen,

hatte leider einen kleinen unfall. sowie ich wieder im geschäft bin teste ich es und melde mich wieder.

grüsse sven