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, 5852 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
gelöst Zeiten in .txt datei auslesen und Differenz berechnen (14)

Frage von meex87 zum Thema Batch & Shell ...

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

Neue Wissensbeiträge
Heiß diskutierte Inhalte
Windows Update
MS: Update-Server-Adressen OHNE Wildcards (16)

Frage von mrserious73 zum Thema Windows Update ...

Multimedia & Zubehör
Laptop per HDMI an TV - einer geht, einer nicht (10)

Frage von dreizehneinhalb zum Thema Multimedia & Zubehör ...

Microsoft Office
+1.000 Ordner in Outlook: Wie besser? (10)

Frage von Matsushita zum Thema Microsoft Office ...