Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

dateien zu ZIP hinzufügen anhand des Änderungsdatums

Frage Entwicklung Batch & Shell

Mitglied: Zunaras

Zunaras (Level 1) - Jetzt verbinden

16.03.2009, aktualisiert 14:48 Uhr, 4084 Aufrufe, 10 Kommentare

Hallo,

in einem Verzeichnis befinden sich mehrere Sicherungsdateien mit Sicherungsdatum versehen. Wo auch regelmäßig neue hinzugefügt werden.
Diese lasse ich in intervallen in ZIPs verschieben.

c:\programme\winzip\wzzip /m /u /yb /p d:\Sicherung\gezippt\Sicherung_%date%.zip d:\sicherung\*.*

Das geht auch alles ohne Probleme.

Manchmal bleiben vom Vortag aber noch ein paar Sicherungsdateien übrig, die dann in ein ZIP des aktuellen Datums verschoben wird.

Kann man das Änderungsdatum der Dateien auslesen und dem dazugehörigen gestrigen ZIP noch hinzufügen? Damit alles zusammen für einen Tag abgelegt ist.

Gruß
Zunaras
Mitglied: 60730
16.03.2009 um 15:10 Uhr
Moin,

im "einfachsten" Fall einfach deine Zip Zeile benutzen und danach ein:
if exist laufwerk:\pfad\zuzippende_dateien.suffix goto zipzeile

Wäre wohl einfacher.


Also:
01.
:zip 
02.
start /wait c:\programme\winzip\wzzip /m /u /yb /p d:\Sicherung\gezippt\Sicherung_%date%.zip d:\sicherung\*.* 
03.
if exist d:\sicherung\*.* goto zip
Gruß
Bitte warten ..
Mitglied: Zunaras
16.03.2009 um 15:47 Uhr
Hallo und danke!

Klappt soweit ganz gut.
Zum Schluss kommt der/die/das Batch in eine Programmschleife.
wzzip wird ewig neu gestartet.

Gruß
Bitte warten ..
Mitglied: 60730
16.03.2009 um 17:57 Uhr
hi,

"Schleife" - yupp das "kommt" davon

. und .. sind ja in jedem Ordner vorhanden und zählen logischerweise auch zu *.* *merde* && mea Culpa


01.
:zip 
02.
start /wait c:\programme\winzip\wzzip /m /u /yb /p d:\Sicherung\gezippt\Sicherung_%date%.zip d:\sicherung\*.* 
03.
dir d:\sicherung\*.*|find "0 Datei(en) && goto end 
04.
echo es wurden noch Dateien gefunden && goto zip 
05.
:end
..sollte dann besser funktionieren.

Gruß
edit
ich schau nachher nochmal vorbei - es geht auch "schöner"
/edit
Bitte warten ..
Mitglied: bastla
16.03.2009 um 19:44 Uhr
@TimoBeil
Meinst Du etwas in der Art?
dir d:\sicherung /a-d >nul 2>&1 && goto :zip
Grüße
bastla
Bitte warten ..
Mitglied: Zunaras
16.03.2009 um 19:59 Uhr
Hallo,

das funktioniert auch!

Nur noch die Sache mit dem Änderungsdatum der Datei.
Also: Kuck nach Änderungsdatum der zu sichernden Datei und verschieb sie in das vorhandene oder neue ZIP

Wäre schön, wenn die Dateien von gestern auch in das ZIp von gestern kommen.

Grüße
Bitte warten ..
Mitglied: bastla
16.03.2009 um 20:08 Uhr
Hallo Zunaras!

Ungetestet etwa so:
01.
pushd d:\sicherung 
02.
for /f "delims=" %%i in ('dir /b /a-d') do for /f %%d in ("%%~ti") do start /wait c:\programme\winzip\wzzip /m /u /yb /p d:\Sicherung\gezippt\Sicherung_%%d.zip "%%i" 
03.
popd
Grüße
bastla
Bitte warten ..
Mitglied: Zunaras
16.03.2009 um 22:03 Uhr
Hi Bastla!

Das ist genial!

Könnte man den Ablauf noch etwas verbessern?
Im Moment wird für jede einzelne Datei das wzzip gestartet. Das heißt, das die Zip, die durchaus die 500 MB schnell erreicht, für jede hinzukommende Datei komplett durchläuft. Pro Sicherungsintervall kommen schon ein paar Dateien zusammen.

Ist der Dateiname "Sicherung_20090316.zip" möglich? Lässt sich besser sortieren.

Grüße
Bitte warten ..
Mitglied: bastla
16.03.2009 um 22:23 Uhr
Hallo Zunaras!

Weiterhin ungetestet:
01.
@echo off & setlocal 
02.
set "Quelle=d:\sicherung" 
03.
set "Ziel=d:\Sicherung\gezippt" 
04.
 
05.
pushd "%Quelle%" 
06.
for /f "delims=" %%i in ('dir /b /a-d') do call :ProcessFile "%%i" 
07.
for /d %%i in (*.*) do call :ProcessDir "%%i" 
08.
popd 
09.
goto :eof 
10.
 
11.
:ProcessFile 
12.
for /f "tokens=1-3 delims=. " %%a in ("%~t1") do set "Datum=%%c%%b%%a" 
13.
if not exist "%Datum%" md "%Datum%" 
14.
move %1 "%Datum%" 
15.
goto :eof 
16.
 
17.
:ProcessDir 
18.
pushd %1 
19.
set "Datum=%~nx1" 
20.
:zip 
21.
start /wait c:\programme\winzip\wzzip /m /u /yb /p "%Ziel%\Sicherung_%Datum%.zip" *.* 
22.
dir /a-d >nul 2>&1 && goto :zip 
23.
popd 
24.
REM rd %1 
25.
goto :eof
Zunächst werden alle Dateien nach Änderungsdatum in entsprechende Unterordner (Name = Änderungsdatum der Datei im Format JJJJMMTT) verteilt. In der zweiten Schleife werden dann alle Inhalte der Unterordner der entsprechenden Sicherungsdatei hinzugefügt (Vorgang wird wiederholt, bis sich keine Dateien mehr im Unterordner befinden). Um den Unterordner danach zu löschen, das "REM" am Beginn der Zeile 24 entfernen.

Grüße
bastla
Bitte warten ..
Mitglied: Zunaras
16.03.2009 um 23:18 Uhr
Meine Güte! (überrascht sein von der Länge des Codes)

Die Aufteilung und das zippen funktioniert super.
Dadurch, das der Ordner "gezippt" sich auch im Verzeichnis Sicherung befindet, will er diesen auch nochmal zippen.
Ist aber nicht weiter schlimm. Ich habe diesen verschoben.

Ich werde es morgen noch mal auf dem Rechner ausprobieren wo es laufen soll.

Ich bedanke mich schon mal für die Geduld und Hilfe für mein Problem und gebe morgen nochmal eine kurze Rückinfo.

Viele Grüße und Gute Nacht
Zunaras
Bitte warten ..
Mitglied: Zunaras
17.03.2009 um 08:38 Uhr
Klappt alles wunderbar!

Nochmals vielen Dank!

Grüße
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Batch & Shell
gelöst Dateien mit vorgegebener Größe erstellbar? (3)

Frage von Stefan007 zum Thema Batch & Shell ...

Windows Server
gelöst Zusätzlichen Windows Server 2012R2 Domänencontroller hinzufügen (5)

Frage von Mar-west zum Thema Windows Server ...

Windows 7
Kopierte Dateien im Hintergrund anzeigen (1)

Frage von MichiBLNN zum Thema Windows 7 ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (14)

Frage von liquidbase zum Thema Windows Update ...