hifclif
Goto Top

dateien per batch kopieren

hallo leute,

ich sollte hilfe von euch haben. und zwar:

ein web server stellt backups von sich selber in einen ordner namens backup. dieser ist freigegeben als //servername/backup
jetzt sollte ich von einem anderen server immer die aktuellsten dateien (tagesaktuellen) über das netzwerk kopieren und in einem ordner ablegen.

das netzwerklaufwerk ist verbunden auf Z:
in dem backup verzeichniss liegen die backup dateien der letzten 5 tage (jeder tag hat ca 8 dateien)

kann mir jemand helfen einen batch zu erstellen. habe jetzt den einfachsten genommen der mir immer alles kopiert........tja aber der müllt mir natürlich immer die platte

cu

Content-ID: 47928

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

Ausgedruckt am: 20.11.2024 um 14:11 Uhr

Metzger-MCP
Metzger-MCP 04.01.2007 um 14:27:41 Uhr
Goto Top
Du brauchst nur noch e:\ in deine Quelle ändern sowie c:\ in dein Ziel.
Bei dir und bei Copy hinten.

Batchdatei
@echo off
dir e:\*.* /od /a-d >z.txt

for /F "eol=; tokens=1,2,3,* delims=, " %%i in (z.txt) do if /i %%i EQU %date% copy e:\"%%l" c:\


MFG Metzger

p.s. War schneller als der Biber bei einer Batch Datei ... das kann doch garnicht wahr sein ... face-smile @Biber
Biber
Biber 04.01.2007 um 14:38:33 Uhr
Goto Top
@metzger
p.s. War schneller als der Biber bei einer Batch Datei ... das kann doch garnicht wahr sein ... face-smile @Biber
Ich hatte in einem Parallelthread "dateien mit Tagesdatum kopieren" geantwortet *lach*

Grüße und noch ein Frohes Neues Jahr
Biber
Hifclif
Hifclif 04.01.2007 um 14:45:16 Uhr
Goto Top
danke für die rasche hilfe,

nun noch eine feinheit........
die dateien sind immer von gestern. also heute möchte ich die gestrigen daten kopiert haben.
könnt ihr das auch noch fixen?

cu
Biber
Biber 04.01.2007, aktualisiert am 17.10.2012 um 16:37:02 Uhr
Goto Top
Moin Hifclif,

dazu gibt es im Forum schon ein paar Threads ("Dateien ab bestimmten Alter löschen", "Dateien von heute und gestern.. ", Beispiel Per Batch Dateien löschen die älter als 2 Tage sind

Kurzfassung:
- mit Datumswerten "rechnen" geht mit native Batch nicht, deshalb
- Tool verwenden, z.B. DelAge32.exe
- VBS (oder JS) verwenden, um mit DateDiff()/DateAdd() (rück)rechnen zu können
'gestern.vbs  
wscript.echo dateAdd("d",-1, date())  
- oder, wenn weder Tool noch VBS erlaubt sein sollten, mit CSV-Hilfstabelle arbeiten (siehe den Thread oben)

Gruß
Biber
miniversum
miniversum 04.01.2007 um 16:04:43 Uhr
Goto Top
oder machs so:

@echo off

for /F "delims=" %%i in ('dir e: /b /od /a-d') do set newestdate=%%~ti
set newestdate=%newestdate:~0,-6%
for /F "eol=; tokens=1,2,3,* delims=, " %%i in ('dir e:\*.* /od /a-d') do if /i %%i EQU %newestdate% copy e:\"%%l" c:


;)
miniversum

edit: set newestdate=%newestdate:~0,-6% vergessen gehabt.