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
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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 47928
Url: https://administrator.de/contentid/47928
Ausgedruckt am: 20.11.2024 um 14:11 Uhr
5 Kommentare
Neuester Kommentar
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 ... @Biber
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 ... @Biber
@metzger
Grüße und noch ein Frohes Neues Jahr
Biber
p.s. War schneller als der Biber bei einer Batch Datei ... das kann doch garnicht wahr sein ... @Biber
Ich hatte in einem Parallelthread "dateien mit Tagesdatum kopieren" geantwortet *lach*Grüße und noch ein Frohes Neues Jahr
Biber
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
- oder, wenn weder Tool noch VBS erlaubt sein sollten, mit CSV-Hilfstabelle arbeiten (siehe den Thread oben)
Gruß
Biber
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())
Gruß
Biber
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.
@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.