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, 5835 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 ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

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

Frage von swissbull zum Thema Batch & Shell ...

Microsoft Office
Excel Dateien durchsuchen und Werte einzeln in neue Excel Datei auslesen (1)

Frage von krischanii zum Thema Microsoft Office ...

Batch & Shell
gelöst Variable aus ini Datei auslesen und weiterverwenden (17)

Frage von n0cturne zum Thema Batch & Shell ...

Batch & Shell
gelöst BATCH ini Datei Datei auslesen (2)

Frage von Juergen42 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Router & Routing
gelöst Ipv4 mieten (22)

Frage von homermg zum Thema Router & Routing ...

Windows Server
DHCP Server switchen (20)

Frage von M.Marz zum Thema Windows Server ...

Exchange Server
gelöst Exchange 2010 Berechtigungen wiederherstellen (20)

Frage von semperf1delis zum Thema Exchange Server ...

Hardware
gelöst Negative Erfahrungen LAN-Karten (19)

Frage von MegaGiga zum Thema Hardware ...