Top-Themen

Aktuelle Themen (A bis Z)

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 Ordnerdatum soll - 3 Tage sein

Mitglied: matze-pe

matze-pe (Level 1) - Jetzt verbinden

05.02.2008, aktualisiert 07.02.2008, 4380 Aufrufe, 10 Kommentare

Hallo miteinander,
ich habe eine Script der mir alle Dateien bis auf die in den letzen 3 Tagen sichert.

im Script wird ein Ordner angelegt, der das heutige Datum als Ordnernamen nimmt. In dem Ordner befinden sich aber alle Dateien bis auf die in den letzen 3 Tagen.


Wie ändert man im Sckript, dass der Ordnernamen 2008_02_05 (-3 Tage) = 2008_02_02 heißt?



Hier mein Script:

01.
@echo off & setlocal 
02.
 
03.
set jahr=%date:~-4% 
04.
set monat=%date:~-7,2% 
05.
set tag=%date:~-10,2% 
06.
 
07.
 
08.
md D:\Sicherung\bis_%jahr%-%monat%-%tag%\ 
09.
 
10.
 
11.
set /a MindestAlter=3 
12.
set "Quelle=C:\Sicherung\*.*" 
13.
set "Ziel=D:\Sicherung\bis_%jahr%-%monat%-%tag%\" 
14.
 
15.
set "AG=%temp%\Age.vbs" 
16.
echo Sicherung: Fenster wird in wenigen Minuten automatisch geschlossen! 
17.
echo ----------------------------------------------------------------------- 
18.
 
19.
echo A=DateDiff("d", CreateObject("Scripting.FileSystemObject").GetFile(WScript.Arguments(0)).DateLastModified, Now):WScript.Echo A>"%AG%" 
20.
for %%i in ("%Quelle%") do for /f %%a in ('cscript //nologo "%AG%" "%%i"') do if %%a gtr %MindestAlter% move "%%i" "%Ziel%\%%~ni%%~xi.txt" 
21.
del "%AG%"


mfg
Matze-Pe


[Edit Biber] Auf <code> formatiert. [/Edit]
Mitglied: bastla
05.02.2008 um 17:05 Uhr
Hallo matze-pe!

Ich hoffe, dass es ist Dir recht ist, wenn das Ordnerdatum nicht mit -3 Tagen, sondern mit -%MindestAlter% Tagen ermittelt wird:
01.
@echo off & setlocal 
02.
set /a MindestAlter=3 
03.
set "Quelle=C:\Sicherung\*.*" 
04.
 
05.
set "GD=%temp%\GetDate.vbs" 
06.
echo D=DateAdd("d",-%MindestAlter%,Now):WScript.Echo Year(D)^&"_"^&Right("0"^&Month(D),2)^&"_"^&Right("0"^&Day(D),2)>"%GD%" 
07.
for /f "tokens=1-3 delims=_" %%i in ('cscript //nologo "%GD%"') do set jahr=%%i&set monat=%%j&set tag=%%k 
08.
del "%GD%" 
09.
 
10.
set "Ziel=D:\Sicherung\bis_%jahr%-%monat%-%tag%\" 
11.
md "%Ziel%" 2>nul 
12.
 
13.
echo Sicherung: Fenster wird in wenigen Minuten automatisch geschlossen! 
14.
echo ----------------------------------------------------------------------- 
15.
 
16.
set "AG=%temp%\Age.vbs" 
17.
echo A=DateDiff("d", CreateObject("Scripting.FileSystemObject").GetFile(WScript.Arguments(0)).DateLastModified, Now):WScript.Echo A>"%AG%" 
18.
for %%i in ("%Quelle%") do for /f %%a in ('cscript //nologo "%AG%" "%%i"') do if %%a gtr %MindestAlter% move "%%i" "%Ziel%\%%~ni%%~xi.txt" 
19.
del "%AG%"
Grüße
bastla
Bitte warten ..
Mitglied: Biber
05.02.2008 um 18:14 Uhr
Moin Matze-pe und bastla,

unbedeutender Vorschlag zur Vereinfachung:
Da diese Variablen %tag%, %monat% und %jahr% nun wirklich nicht benötigt werden, sondern nur EINE Variable mit dem "Heute - 3"-Verzeichnisnamen,
ginge es auch etwas schlanker...

01.
....( Ersatzzeilen für alles zwischen [Set "GD=..."] und [md "%Ziel%" 2>nul] inkl. 
02.
set "GD=%temp%\GetDate.vbs" 
03.
echo Wscript.echo dateadd("d", date, -%Mindestalter%) >%GD% 
04.
for /f "tokens=1-3 delims=." %%i in ('cscript //nologo "%GD%"') do set "Ziel=D:\Sicherung\bis_%%k-%%j-%%i" 
05.
del "%GD%" 
06.
 
07.
md "%Ziel%" 2>nul 
08.
 
09.
...
Grüße
Biber
Bitte warten ..
Mitglied: matze-pe
05.02.2008 um 18:17 Uhr
Hallo Bastla,

dein veränderstes Script passt nicht mehr, es kommt die Fehlermeldung:

"Die Syntax für den Dateinamen, Verzeichnisnamen oder die Datenträgerbezeichnug ist falsch.


[img]http://img212.imageshack.us/img212/6094/unbenanntki4.jpg[/img]



LG
Matze
Bitte warten ..
Mitglied: matze-pe
05.02.2008 um 18:34 Uhr
Hallo Ihr beiden,
vielen Dank erstmal an euch beiden, aber das Probelm besteht weiterhin, das der Dateinanemn nicht stimmt, siehe screenshot^^


LG
Matze
Bitte warten ..
Mitglied: bastla
05.02.2008 um 18:48 Uhr
Hallo matze-pe!

Anmerkung zu Deinem Screenshot:
Im CMD-Fenster lässt sich sehr einfach Text markieren und kopieren - dazu Rechtsklick auf das Systemmenü (ganz links in der Titelleiste) des CMD-Fensters und im Register "Optionen" den "QuickEdit-Modus" einschalten. Beim Beenden die zweite Option ("... für alle Fenster ...") wählen. Ab sofort kannst Du dann im CMD-Fenster mit der linken Maustaste markieren und durch Rechtsklick kopieren, bzw, wenn kein Text markiert ist, durch Rechtsklick den Inhalt der Zwischenablage einfügen. Dann noch den so kopierten Text zwischen <code>-Tags stellen und posten ...

Bevor Du das ausprobierst ändere aber bitte das "@echo off" in der ersten Batchzeile auf "@echo on" - dann sieht man/frau nämlich, wodurch der Fehler ausgelöst wird.

Da ich den eigentlichen Verschiebeteil unverändert übernommen habe, kann der Fehler eigentlich nur auf den Verzeichnisnamen zurückzuführen sein - daher kannst Du wahrscheinlich schon nach den ersten 3 Dateien den Batch abbrechen.

Na ja, schaun mer mal ...
@Biber
D'accord.

Eigentlich wollte ich gleich den gesamten Datumsstring passend formatiert ausgeben (was ich ja ohnehin mache), aber dann ist mir die Diskrepanz zwischen Beschreibung (Trennzeichen "_") und "set"-Zeile (Trennzeichen "-") aufgefallen, und daher wollte ich matze-pe die "gewohnten" Variablen bieten, um sich den endgültigen Verzeichnisnamen daraus selbst zusammenzusetzen - nixdestotrotz ist natürlich Dein Vorschlag eleganter.

Grüße
bastla
Bitte warten ..
Mitglied: matze-pe
06.02.2008 um 09:29 Uhr
Alles klar, vielen Dank.

Hat wunderbar funktioniert.


LG
Matze
Bitte warten ..
Mitglied: Biber
06.02.2008 um 09:41 Uhr
Moin matze-pe,

hab ich nicht verstanden.
Was war denn nun der Unterschied zwischen dem Skript, das den Fehler oben geworfen hat und dem, das wunderbar funktioniert?

Oder noch hilfreicher für alle MitleserInnen:
poste doch bitte noch mal die Version, die jetzt tatsächlich im richtigen Leben einsetzbar ist.

Danke
Biber
Bitte warten ..
Mitglied: matze-pe
06.02.2008 um 11:24 Uhr
Hallo,
der Fehler lag in der Pafdangabe.

Und ein kleiner Denkfehler ist noch drin, ist es möglich das Datum vom Ordner 4 Tage zurück zu setzen und die Dateien der letzten 3 Tage.

Beispiel: Heute haben wir den 6.2.08, die Dateien werden bis zum 02.02.08 gesichert und der Ordnernamen heißt bis_08-02-03


Ist es möglich das zu ändern?


Vielen Dank


LG
Matze
Bitte warten ..
Mitglied: bastla
06.02.2008 um 14:27 Uhr
Hallo matze-pe!

Etwa so:
01.
echo D=DateAdd("d",-%MindestAlter%-1,Now)...
Damit bleibt's immer noch variabel, ansonsten einfach:
01.
echo D=DateAdd("d",-4,Now)...
Grüße
bastla
Bitte warten ..
Mitglied: matze-pe
07.02.2008 um 09:17 Uhr
Wunderbar, hat geklappt

Vielen vielen Dank
Bitte warten ..
Ähnliche Inhalte
Microsoft

WSUS Defenderupdateverteilung misslingt seit 3 Tagen auf Win10

gelöst Frage von DerWoWussteMicrosoft12 Kommentare

Moin. Definition Update for Windows Defender - KB2267602 (Definition 1.239.677.0) - Error 0x80070643 Seit mehreren Tagen installieren die win10-Clients ...

Windows 7

Dateien älter wie 3 Tage automatisch verschieben

gelöst Frage von WindowsUser1Windows 723 Kommentare

Tag zusammen, ich bin der totale Laie, was das angeht. Ich habe ein Verzeichnis C:\Users\User1\Documents Darin kommen automatisch täglich ...

Batch & Shell

Batch die alle Dateien löscht die Älter als 3 Tage sind

gelöst Frage von AzubineBatch & Shell5 Kommentare

Guten Morgen, von unserer Zeiterfassung werden die Sicherungsdateien in einem Ordner abgelegt und mit Veritas auf ein externes Bandlaufwerk ...

VB for Applications

VB olMail.ExpiryTime gleich Heute Plus 3 Tage

gelöst Frage von Pago159VB for Applications2 Kommentare

Hallo Kollegen, ich bin gerade dabei, Mailvorlagen zu Programmieren. Soweit hat auch alles geklappt, wo ich mich jetzt allerdings ...

Neue Wissensbeiträge
Microsoft

Neuigkeiten zu Server und Office 365 was läuft mit was und was nicht

Tipp von AlFalcone vor 1 TagMicrosoft4 Kommentare

Da diese Infos scheinbar unerwünscht sind, habe ich diese wider gelöscht.

Speicherkarten

Neuer Speicherkartentyp - zunächst nur für Huawei-Smartphones (künftig auch für Notebooks u. Tablets?)

Tipp von VGem-e vor 1 TagSpeicherkarten1 Kommentar

Servus, als ob das "Chaos" i.S. Speicherkarten noch nicht groß genug wäre?! Evtl. kommt dieser neue Kartentyp bald auch ...

Sicherheit

Diverse D-Link-Router durch drei Schwachstellen kompromittierbar

Information von kgborn vor 1 TagSicherheit

Hat jemand D-Link-Router in Verwendung? Einige Modelle sind sicherheitstechnisch offen wie ein Scheunentor. Äußerst unschöne Sache, aber nichts neues ...

Hardware

100.000 Mikrotik-Router ungefragt von Hacker abgesichert

Information von 7Gizmo7 vor 2 TagenHardware2 Kommentare

Hallo zusammen, da hier ja öfters mal von Mikrotik gesprochen wird. Trotz Updates klafft eine Sicherheitslücke in Hundertausenden Mikrotik-Routern. ...

Heiß diskutierte Inhalte
Sicherheitsgrundlagen
EuGH-Urteil - Internetanschluss für die ganze Familie - Filesharer haften trotzdem
Frage von StefanKittelSicherheitsgrundlagen40 Kommentare

Hallo, In diesem Artikel geht es darum, dass Jemand aus der Familie ein Hörbuch illegal hochgeladen hat. Der Vater ...

Apple
MacBook Pro 2018 mit 8 GB oder 16 GB
Frage von SysAdm81Apple25 Kommentare

Hallo zusammen, ich steh vor der Überlegung mir ein MacBook Pro 13 (2018) zu kaufen. Bzgl. SSD habe ich ...

Off Topic
SysAdmin im öffentlichen Dienst - jemand Erfahrungen?
Frage von JohnDorianOff Topic19 Kommentare

Hallo zusammen, hat jemand Erfahrung wie es so ist als SysAdmin im öffentlichen Dienst (Landkreis) im Südwesten der Republik ...

TK-Netze & Geräte
Low budget TK-Anlage für KMU
Frage von HeinklugTK-Netze & Geräte16 Kommentare

Hallo Admins, ich bin auf der Suche nach eine kostengünstigen Telefonanlage für mein kleines Büro mit 4-5 Mitarbeitern. Dabei ...