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 NUR das Datum einer Datei auslesen

Mitglied: tony-mh

tony-mh (Level 1) - Jetzt verbinden

15.04.2008, aktualisiert 15:12 Uhr, 5917 Aufrufe, 3 Kommentare

Habe mich jetzt mehrere Stunden mit dem Suchen beschäftigt und leider zwar immer mal was gefunden, aber nicht das was ich brauche.
Es ist wahrscheinlich sehr simple, aber ich komme einfach nicht zur Lösung.

Ich möchte eine Batchdatei erstellen, die nur dann ausgeführt wird, wenn eine bestimmte Datei älte als 4 Wochen ist.
Ist das mit einer Batchdatei überhaupt möglich?

danke schon mal für Eure Hilfe
Mitglied: bastla
15.04.2008 um 12:52 Uhr
Hallo tony-mh und willkommen im Forum!

Ist das mit einer Batchdatei überhaupt möglich?
Grundsätzlich ja - allerdings, wenn's nur Batch sein soll, eher mühsam.

Leichter geht's unter Verwendung von (temporärem) VBScript:
01.
@echo off & setlocal
02.
set "Datei=D:\Timestamp.txt"
03.
 
04.
:: Script erzeugen
05.
set "DD=%temp%\GetDateDiff.vbs"
06.
echo Set args=WScript.Arguments:If args.Count^>1 Then:Bis=args(1):Else:Bis=Date:End If:WScript.Echo DateDiff("d",args(0),Bis)>%DD%
07.
 
08.
:: Dateidatum auslesen
09.
for %%i in ("%Datei%") do set "Von=%%~ti"
10.
 
11.
:: Tagedifferenz berechnen
12.
for /f %%i in ('cscript //nologo %DD% "%Von%"') do set /a "Alter=%%i"
13.
 
14.
:: Auswertung
15.
if %Alter% leq 28 goto :eof
16.
echo Mehr als 4 Wochen ...
Wenn Du in der "for /f"-Zeiile nach "%Von%" eine Leerstelle und ein weiteres Datum angibst, wird die Differenz zwischen diesen beiden Daten berechnet, ansonsten wird das in %Von% enthaltene Datum mit dem heutigen verglichen. In beiden Fällen steht anschließend in %Alter% das Alter in Tagen.

Falls das Alter der Datei unter 4 Wochen liegt, wird der Batch beendet, ansonsten können anstelle der als Demo verwendeten Ausgabe "Mehr als 4 Wochen" beliebige Befehle folgen.

Grüße
bastla
Bitte warten ..
Mitglied: Biber
15.04.2008 um 13:03 Uhr
Moin toby-mh,

willkommen auch von mir.

lesbarer wird es mit dem Utility WasFile.exe von Horst Schaeffer (siehe Link im Bereich Batch & Shell).

Damit reduziert sich das Handwerkliche auf:
01.
....
02.
Wasfile D:\EineDatei.xyz BEFORE Today-30 && TuWasDuNachEinemMonatTunMusst.bat
Grüße
Biber
Bitte warten ..
Mitglied: tony-mh
15.04.2008 um 15:12 Uhr
Danke danke... stimmt mit WSH geht es um einiges leichter, habe es nach euren starthilfen geschafft.... zwar bisschen anders und glaube ich auch bisschen einfacher

Danke trotzdem schonmal
01.
'*** Log Datei angeben
02.
set fs = CreateObject("Scripting.FileSystemObject")
03.
 
04.
if not fs.fileExists("C:\tmp\Inventory.txt") then
05.
set logbuch = fs.opentextfile("C:\tmp\Inventory.txt", 8, true,0)
06.
logbuch.writeline now
07.
logbuch.close
08.
 
09.
End if
10.
 
11.
Set f1 = fs.GetFile("C:\tmp\Inventory.txt")
12.
 
13.
'*** aktuelles Datum bestimmen
14.
akt_datum = (now)
15.
 
16.
          
17.
          '*** Erstelldatum auslesen, und in Datum und Uhrzeit zerlegen
18.
          Erstelldatum = f1.DateLastModified
19.
          
20.
          '*** Überprüfen ob Zeit vergangen sind  
21.
          
22.
          diff = DateDiff("s",Erstelldatum, akt_datum)
23.
          If diff>20 Then
24.
          
25.
               '***Inventory Script ausführen
26.
               
27.
              MsgBox "hier kommt das Script rein"
28.
              
29.
              '***Eintrag in die Logdatei, wann das Script ausgeführt wurde
30.
              set logbuch = fs.opentextfile("C:\tmp\Inventory.txt", 8, true,0)
31.
	      logbuch.writeline now
32.
              logbuch.close
33.
              
34.
              
35.
               
36.
     End if
[Edit Biber] Als <code> formatiert. [/Edit]
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Datei mit Datum im Namen erstellen
gelöst Frage von pbelclBatch & Shell6 Kommentare

Ich habe mir ein kleines Batch geschrieben, das mir eine Date erstellt, die im Namen das Datum und die ...

JavaScript
Zeit und Datum in Datei schreiben
Frage von MarcysJavaScript2 Kommentare

Hallo, mit Node-Red habe ich den Temperatursensor DHT22 ans Laufen bekommen. Ich habe zwei Node-Funktionen erstellt, die mir die ...

Batch & Shell
Kopieren einer Datei mit Datum per PS
gelöst Frage von xm-bitBatch & Shell4 Kommentare

Hallo, ich brauche mal eure Hilfe. Ich möchte eine Datei per Powershell kopieren. Im Ergebnis soll gleichzeitig das aktuelle ...

Batch & Shell

Wenn bestimmtes Datum dann bestimmte Datei kopieren

gelöst Frage von rohu2007Batch & Shell31 Kommentare

Hallo Zusammen, ich komme leider nicht weiter. Ich möchte eine Datei kopieren, wenn ein bestimmtes Datum eintrifft. Das heutige ...

Neue Wissensbeiträge
Humor (lol)
Administrator.de Perlen
Tipp von DerWindowsFreak2 vor 4 TagenHumor (lol)6 Kommentare

Hallo, Heute beim stöbern auf dieser Seite bin auf folgenden Thread aus dem Jahre 2006 gestossen: Was meint ihr? ...

Erkennung und -Abwehr
OpenSSH-Backdoor Malware erkennen
Tipp von Frank vor 5 TagenErkennung und -Abwehr

Sicherheitsforscher von Eset haben 21 Malware-Familien untersucht. Die Malware soll Hintertüren via OpenSSH bereitstellen, so dass Angreifer Fernzugriff auf ...

iOS
WatchChat für Whatsapp
Tipp von Criemo vor 8 TageniOS5 Kommentare

Ziemlich coole App für WhatsApp User in Verbindung mit der Apple Watch. Gibts für iOS sowohl als auch für ...

iOS
IOS hat nen Cursor!
Tipp von Criemo vor 9 TageniOS5 Kommentare

Nette Funktion im iOS. iPhone-Mauszeiger aktivieren „Nichts ist nerviger, als bei einem Tippfehler zu versuchen, den iOS-Cursor an die ...

Heiß diskutierte Inhalte
Samba
Windows 10 Client in Samba-Domäne hinzufügen scheitert
Frage von diwaffmSamba31 Kommentare

Hi Leute, ich habe einen Samba Server in der Version 4.9.3 auf einer OpenSuse Maschine laufen. Damit sind momentan ...

Windows Systemdateien
Verknüpfungen nach Pfadwechsel
Frage von Hendrik2586Windows Systemdateien17 Kommentare

Guten Morgen meine lieben Kollegen und Kolleginnen, ich hab da mal eine Frage die Ihr sicher schon kennt. Es ...

Batch & Shell
CMD-Fenster nach Task schließen
gelöst Frage von Hyperlink.93Batch & Shell16 Kommentare

Hallo, ich habe ein Skript was über einen Task bei jeder User Anmeldung läuft. Der Task startet eine CMD ...

Netzwerkmanagement
Sehr langsame Netzverbindung in einem bestimmten Subnet
gelöst Frage von gabeBUNetzwerkmanagement15 Kommentare

Hallo Zusammen Ich habe das folgende Problem: Unser Netzwerk, dass aus verschiedenen Subnetzwerken aufgebaut ist, ist nicht in jedem ...