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

System kopiert Dateien in einen Ordner trotz Schreibschutz

Frage Microsoft

Mitglied: kugelschreiber

kugelschreiber (Level 1) - Jetzt verbinden

28.05.2010 um 15:00 Uhr, 3137 Aufrufe, 4 Kommentare

Hallo Ihr Lieben,

wahrscheinlich nur ein kleines Problem.

Ich habe einen Windows Server 2003 R2 SP1und dort habe ich einen Ordner (Archiv), in dem pro Monat ca 2000 Dateien drin landen.
Da diese Dateien (XML) ziemlich klein sind, habe ich mir gedacht, ich verschiebe alle Dateien, die Älter sind als 6 Tage in einen temporären Ordner (Archiv7z_temp) und komprimiere anschließend den kompletten Ordner und speichere das erstellte Archiv (mit Datum und Zeit im Namen) in einen ArchivOrdner (Archiv7z). Danach lösche ich die Dateien aus dem Quellordner (Archiv7z_temp).
Da ich dies nicht immer und immer wieder händisch machen will, habe ich mir eine Bacth geschrieben, die auch so funktioniert, wie wie oben beschreiben soll. Da ich dort mit Sprungmarken arbeite, wollte ich nun mal testen, wie das Script reagiert, wenn etwas schief läuft. Dazu habe ich mir gedacht, dass ich den Zielordner, also da wo die ZIP Datei landen soll einfach mal SCHREIBGESCHÜTZ mache. Also rechte Maustaste drauf und Read Only gechecked.

Jedoch schreibt die Batch fleißig weiter in den Ordner als gäbe es kein Morgen mehr?

Woran liegt das? Oder besser gefragt, wie kann ich überprüfen, ob meine Batch nicht löscht, wenn das Archivieren fehl geschlagen ist?

Anbei die Batch

01.
ECHO off 
02.
 
03.
REM --- Verschieben der Dateien, die aelter sind, als 6 Tage inein Temporäres Verzeichnis namens Archive7z_temp 
04.
 
05.
	DelAge32.exe E:\Archive\*.* 6 /move E:\Archive7z_temp 
06.
 
07.
PAUSE 
08.
 
09.
REM --- Pruefen, ob Erfolgreich --- 
10.
 
11.
	IF errorlevel 0 GOTO :KOMPRIMIERUNG 
12.
 
13.
 
14.
REM --- Komprimierung START --- 
15.
 
16.
	:KOMPRIMIERUNG 
17.
	7za u -tzip E:\Archive7z\%date:~10,4%%date:~7,2%%date:~4,2%-%time:~0,2%%time:~3,2%%time:~6,2% E:\Archive7z_temp 
18.
 
19.
REM --- Pruefen, ob Erfolgreich --- 
20.
 
21.
	IF errorlevel 0 GOTO :LOESCHEN 
22.
 
23.
REM -- Loeschen START --- 
24.
 
25.
	:LOESCHEN 
26.
	del E:\Archive7Z_temp /s /F /Q
Danke für Eure Hilfe

Gruß Kuli
Mitglied: bastla
28.05.2010 um 15:43 Uhr
Hallo kugelschreiber!

Unabhängig vom Phänomen "Schreiben in einen schreibgeschützten Ordner" schert sich Dein Batch überhaupt nicht um das Ergebnis der Komprimierung ...

Die Abfrage
IF errorlevel 0 GOTO :LOESCHEN
alleine würde schon immer zum Label ":LOESCHEN" springen, da diese Schreibweise bedeutet: Wenn der Errorlevel 0 oder größer als 0 ist, springe ...

Darüber hinaus würde auch ohne den Sprung als nächste auszuführende Zeile der Löschbefehl in Zeile 26 erreicht.

Versuch es daher besser so:
7za u -tzip E:\Archive7z\%date:~10,4%%date:~7,2%%date:~4,2%-%time:~0,2%%time:~3,2%%time:~6,2% E:\Archive7z_temp && del E:\Archive7Z_temp /s /F /Q
Falls Du dennoch mit einem "if" arbeiten wolltest, dann
01.
if not errorlevel 1 goto :LOESCHEN 
02.
echo Fehler beim Komprimieren! 
03.
goto :eof 
04.
 
05.
:LOESCHEN
Grüße
bastla

P.S.: Für die Zeile 11 gilt natürlich die selbe Überlegung ...
Bitte warten ..
Mitglied: kugelschreiber
31.05.2010 um 09:46 Uhr
Hallo Bastla,

danke für die Hilfe ich habe es jetzt umgeschrieben und noch zwei Eventlogs geschrieben.
Kannst Du mal schauen, ob dies so richtig ist? Also beim Testen funktioniert es und die Eventlogs werden auch geschrieben. Jedoch weiß ich nicht, ob die Abbruchkriterien richtig geschrieben sind.

01.
eventcreate /t Information /ID 1 /d "Dateien werden nun komprimiert" 
02.
 
03.
IF NOT errorlevel 1 GOTO :KOPIEREN 
04.
ECHO FEHLER BEIM EVENT LOG 
05.
goto :eof 
06.
 
07.
:KOPIEREN 
08.
 
09.
DelAge32.exe E:\Archive\*.* 6 /move E:\Archive7z_temp 
10.
 
11.
IF NOT errorlevel 1 GOTO :KOMPRIMIERUNG 
12.
ECHO FEHLER BEIM KOPIEREN 
13.
goto :eof 
14.
 
15.
:KOMPRIMIERUNG 
16.
7za u -tzip E:\Archive7z\%date:~10,4%%date:~7,2%%date:~4,2% E:\Archive7z_temp\*.* 
17.
 
18.
IF NOT errorlevel 1 GOTO :LOESCHEN 
19.
ECHO FEHLER BEIM KOMPRIMIEREN 
20.
goto :eof 
21.
 
22.
:LOESCHEN 
23.
	 
24.
del E:\Archive7Z_temp /s /F /Q 
25.
rmdir E:\Archive7Z_temp 
26.
 
27.
IF NOT errorlevel 1 GOTO :EVENTLOG 
28.
ECHO FEHLER BEIM LOESCHEN 
29.
goto :eof 
30.
 
31.
:EVENTLOG 
32.
 
33.
eventcreate /t Information /ID 1 /d "Dateien wurden erfolgreich komprimiert"
Dank für Deine Mühe Gruß Ronny
Bitte warten ..
Mitglied: bastla
31.05.2010 um 10:29 Uhr
Hallo Ronny!

Sieht ok aus, allerdings ist das Löschen der Dateien in Zeile 24 nicht nötig, wenn Du ohnehin den gesamten Ordner in Zeile 25 entfernst - das ließe sich zu
rd /s /q E:\Archive7Z_temp
zusammenfassen.

Grüße
bastla
Bitte warten ..
Mitglied: kugelschreiber
31.05.2010 um 11:06 Uhr
Danke bastla!

Ich ändere das noch (denn das macht Sinn) und stelle dann den Request/Thread auf gelöst.

Ihr seid die Besten!
Bitte warten ..
Ähnliche Inhalte
Microsoft
Im ordner nach dateien aus excel liste suchen (2)

Frage von tioloco zum Thema Microsoft ...

Batch & Shell
Automatisch dateien die sich in einem Ordner befinden, zippen (6)

Frage von cdm1970 zum Thema Batch & Shell ...

Batch & Shell
gelöst Dateien in Ordner verschiebenm abhängig vom Jahr des Änderungsdatums (11)

Frage von freakonaleash zum Thema Batch & Shell ...

Neue Wissensbeiträge
Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Peripheriegeräte

Was beachten bei der Wahl einer USV Anlage im Serverschrank

(6)

Tipp von zetboxit zum Thema Peripheriegeräte ...

Windows 10

Das Windows 10 Creators Update ist auf dem Weg

(5)

Anleitung von BassFishFox zum Thema Windows 10 ...

Administrator.de Feedback

Tipp: Ungelöste Fragen ohne Antwort in Tickeransicht farblich hinterlegen

Tipp von pattern zum Thema Administrator.de Feedback ...

Heiß diskutierte Inhalte
Windows Server
gelöst Update BackupExec 2015 auf 2016 führt zu SQL-Server Problem (16)

Frage von montylein1981 zum Thema Windows Server ...

Batch & Shell
gelöst Batch um Benutzer aus Sitzung abzumelden (15)

Frage von zeroblue2005 zum Thema Batch & Shell ...

LAN, WAN, Wireless
IP Sec Client legt Netzwerkkarte lahm (12)

Frage von mario87 zum Thema LAN, WAN, Wireless ...