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

NUR das Datum einer Datei auslesen

Frage Entwicklung Batch & Shell

Mitglied: tony-mh

tony-mh (Level 1) - Jetzt verbinden

15.04.2008, aktualisiert 15:12 Uhr, 5842 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
PHP
gelöst TXT Datei auslesen und bestimmte Zeilen in Variable setzen (11)

Frage von 126594 zum Thema PHP ...

VB for Applications
gelöst Bestimmte Spalten aus CSV-Datei auslesen (VBS) (9)

Frage von Gurkenhobel zum Thema VB for Applications ...

Batch & Shell
gelöst PowerShell, Log Datei auslesen, bei Änderungen E-Mail senden (12)

Frage von swissbull zum Thema Batch & Shell ...

Neue Wissensbeiträge
Peripheriegeräte

Was beachten bei der Wahl einer USV Anlage im Serverschrank

(2)

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 ...

Viren und Trojaner

Neue Magazin Ausgabe: Malware und Angriffe abwehren

Information von Frank zum Thema Viren und Trojaner ...

Heiß diskutierte Inhalte
Windows Systemdateien
Warum System auf "C:" (29)

Frage von DzumoPRO zum Thema Windows Systemdateien ...

LAN, WAN, Wireless
Cisco SG200: Auf bestimmtem vLAN bestimmte TCP-Ports sperren (16)

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

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

Frage von montylein1981 zum Thema Windows Server ...

Cloud-Dienste
gelöst Bitcoins minen über Nacht? (16)

Frage von 1410640014 zum Thema Cloud-Dienste ...