sku160974
Goto Top

Dateien des Monats per Batch-Script kopieren

Ich möchte folgende Aufgabe durchführen:

Es gibt auf einem Server das Verzeichnis E:\TEMP.
Darin befinden sich Text-Dateien.
Monatlich werden etwa 20.000 bis 30.000 dieser Dateien erzeugt.

Die älteste Datei ist im Moment vom Oktober 2008, also es sind schon einige zusammengekommen und im Windows-Explorer sind diese Dateien kaum noch zu verwalten.
Deshalb will ich die Sicherung per Batch-Script in der Shell ausführen.

Diese Text-Dateien will ich nun auf ein externes Laufwerk sichern und anschliessend die originalen löschen.
Die Dateien sollen monatsweise in dafür angelegte Unterverzeichnisse auf das Sicherungslaufwerk kopiert werden (\BACKUP\1108; \BACKUP\1208;...).

Per Batch möchte ich alle Dateien des gleichen Monats (z.B. November 2008) im Verzeichnis E:\TEMP ermitteln und in das manuell erstellte Zielverzeichnis F:\BACKUP\1108 kopieren.
Nachdem der Batch beendet wurde will ich einen 2. Batch starten, der die eben gesicherten Dateien dann aus dem Quellverzeichnis E:\TEMP löscht.

Ich wäre echt froh über Hilfe von euch, da ich mich mit Batch-Scripting nicht wirklich gut auskenne!!!


Liebe Grüße

Steffen

Content-ID: 111745

Url: https://administrator.de/forum/dateien-des-monats-per-batch-script-kopieren-111745.html

Ausgedruckt am: 24.12.2024 um 12:12 Uhr

katticat
katticat 18.03.2009 um 18:04:56 Uhr
Goto Top
@echo off
setLocal EnableDelayedExpansion

set ziel=d:\save
set quelle=d:\
set monat=03
set jahr=2009

if exist %ziel%\%jahr%-%monat% goto :copy
mkdir %ziel%\%jahr%-%monat%

cd %quelle%

:copy
for /f "tokens=4 delims= " %%a in ('dir %quelle%*.txt /c ^|find ".%monat%.%jahr%"') do (%systemroot%\system32\xcopy %%a %ziel%\%jahr%-%monat%\ /Y |echo Kopiere %%a)  



echo Die Dateien wurden nach %ziel%\%jahr%-%monat% kopiert.

pause > nul

Pfade nur noch anpassen. Dann kannst du dir die Dateien löschen, entweder im gleiche Script oder in einem neuen

for /f "tokens=4 delims= " %%a in ('dir %quelle%*.txt /c ^|find ".%monat%.%jahr%"') do (%systemroot%\system32\del /q %%a  |echo Loesche %%a)  
lpark87
lpark87 28.05.2009 um 11:15:20 Uhr
Goto Top