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

Dateien per Batch prüfen

Frage Microsoft Windows Tools

Mitglied: wrathchild

wrathchild (Level 1) - Jetzt verbinden

27.10.2005, aktualisiert 17.05.2008, 12214 Aufrufe, 10 Kommentare

Hallo!

Ich habe eine Frage zur verwendung von Batch Dateien.

Ist es möglich per Batch Datei die Uhrzeit der letzten Änderung einer Datei zu prüfen, um daraufhin einen weiteren Befehl auszuführen?

Ähnlich dem Tool "forfiles", nur dass man ja bei diesem nur das Datum der letzten Änderung prüfen kann.

Das Ziel ist, das automatisch in einem Ordner geprüft wird ob dort Dateien liegen die älter als 30 Minuten sind und daraufhin der Admin per Net Send eine Nachricht erhält.

Danke schon einmal für eure Hilfe!

Alex
Mitglied: azubaer
27.10.2005 um 14:17 Uhr
wenn du VB 6 hast, ist das in 10 Minuten fertigprogrammiert. Hab das mal als Kontrollroutine gemacht um sicherzustellen, ob generierte PDFs richtig verschoben werden.

Aber als Kommandozeilen-Batch hast du ja nicht die Möglichkeit auf die Objekteigenschaften wie Besitzer, Größe, Änderungsdatum etc. direkt zuzugreifen.
Ich wüsste auch nicht, dass es eine Art Linux-grep-Befehl für die Windows Kommandozeile gibt...

Nur warum nutzt du nicht forfiles, wenn es die die letzte Änderungszeit angibt? Keine Kommandozeilenausgabe?
Bitte warten ..
Mitglied: wrathchild
27.10.2005 um 14:23 Uhr
Hi!

Danke für die schnelle Antwort.
Ich habe als Programmierumgebung von meiner Firma her Visual Studio. Da ist ja VB mit an Bord.
Nur habe ich leider noch nie mit VB Programmiert, bisher habe ich mit Java und Eclipse gearbeitet.
Ich dachte mir das es als Batch vielleicht einen simplen Weg gäbe.
Forfiles kann leider nur das Datum (TT/MM/JJJJ) aber nicht die Zeit als Werte nutzen.
Kannst Du mir denn vielleicht kurz beschreiben wie das mit VB zu realisieren wäre?

Danke
Alex
Bitte warten ..
Mitglied: Biber
27.10.2005 um 14:28 Uhr
Hm, wrathchild,

mit Deiner Anforderung des "Dateien-älter-als-30-Minuten" hast Du aber M$ voll in den Schritt gefasst...

So kleine Einheiten (kleiner als Tag) gehen IMHO weder mit ForFiles noch bei XCopy/RoboCopy. Und über den CMD-Prompt bekommst Du natürlich die Erstellungs- oder letzte Änderungszeit raus, aber Du müsstest dann selbst eine ziemlich alberne Prüfung zusammenschroten, um den String "Aktuelle Zeit" und den String "Letzte Änderungszeit" zu vergleichen oder in Minuten umzurechnen.... würde ich erstmal als Plan B zurückstellen.
(Aber wenn Du dieses Rad nochmal nacherfinden willst - machbar ist das auch schnell *g)

Plan A wäre dann folgende Strategie:
- Ein Batch- , VB- oder sonstiges Light-Script schreiben, das alle 30 Min als Dienst gestartet wird
- das soll nur alle Dateien OHNE Attribut "A" suchen ("dir /A:-A")
- wenn er welche findet, diese an Wen-auch-immer melden/mailen
- alle gemeldeten mit "Attrib +a *.*" für die nächste Runde unsichtbar machen

Sollte vollkommen reichen.
HTH
Frank / der Biber aus Bremen
[Edit] Sorry, die beiden anderen Beiträge waren noch nicht da, als ich angefangen habe, zu tippen. [/Edit]
Bitte warten ..
Mitglied: wrathchild
27.10.2005 um 14:43 Uhr
Hi Frank!
Danke auch für Deine Antwort Je mehr möglichkeiten sich mir auftun um so besser ;)

mit Deiner Anforderung des
"Dateien-älter-als-30-Minuten"
hast Du aber M$ voll in den Schritt
gefasst...

Das hab ich mir nach meiner ersten Recherche auch schon gedacht... gelobt sei UNIX Nur leider hab ich da nur bei meinem Studium Kontakt zu gehabt, und mein erster Gedanke war das muss doch bei MS auch gehen... Tja....

Plan A wäre dann folgende Strategie:
- Ein Batch- , VB- oder sonstiges
Light-Script schreiben, das alle 30 Min als
Dienst gestartet wird
- das soll nur alle Dateien
OHNE Attribut
"A" suchen ("dir
/A:-A")
- wenn er welche findet, diese an
Wen-auch-immer melden/mailen
- alle gemeldeten mit "Attrib +a
*.*" für die nächste Runde
unsichtbar machen

Kann man denn beim "Dir" Befehl auch die Zeit als Attribut nehmen? Oder wie meinst Du das genau?

Es handelt sich bei dem Ordner um ein Austauschverzeichnis zu einer SAP XI, die sich dort die Dateien abholt und verschiebt.
Ich möchte eben einfach nur prüfen, ob die Dateien die in diesem Ordner liegen noch abgeholt werden oder schon längst abgeholt worden sein müssten.

Viele Grüße,
Alex
Bitte warten ..
Mitglied: azubaer
27.10.2005 um 14:44 Uhr
Gib mal mail. Habs dir fertigprogrammiert
Bitte warten ..
Mitglied: Biber
27.10.2005 um 15:08 Uhr
@alex

Nein, ich hätte bei meinem Plan A ganz auf die Datums/Zeitprüfung verzichtet - eben aus dem Grund, dass ich eh keinen Stunden-Input mitgeben kann und auch als Output nur Strings zurückbekomme (keine datetime-Werte o.ä.)
Und das Umrechnen war/ist mir zu albern.

Ich wollte "nur" die Dateien ...hmm.. markieren.
Also vom DIR-Befehl nur nutzen:
>dir /?
Listet die Dateien und Unterverzeichnisse eines Verzeichnisses auf.

DIR [Laufwerk:][Pfad][Dateiname] [/A[[:]Attribute]] [/B] [/C] [/D] [/L] [/N]
[/O[[:]Folge]] [/P] [/Q] [/S] [/T[[:]Zeit]] [/W] [/X] [/4]

[Laufwerk:][Pfad][Dateiname]
Bezeichnet Laufwerk, Verzeichnis und/oder Dateien.

/A Listet Dateien mit angegebenen Attributen auf.
Attribute D Verzeichnisse R Schreibgeschützte Dateien
H Versteckte Dateien A Zu archivierende Dateien
S Systemdateien - vorangestellt kehrt die Bedeutung um
.....

@martin Mit einer VB-Exe auf den kleinen Spatzen schießen finde ich aber auch machohaft
Bitte warten ..
Mitglied: azubaer
27.10.2005 um 15:14 Uhr
der zweck heiligt die mittel.
ich hab in meiner alten firma so pfuschen gelernt
Bitte warten ..
Mitglied: wrathchild
27.10.2005 um 15:20 Uhr
Ich bin ja begeistert wie schnell das hier geht

@Frank
jetzt verstehe ich was Du meinst, also praktisch wie mit chmod unter Unix?

@martin
Hab Dir eine PM mit meiner Mail geschickt, Danke !
Bitte warten ..
Mitglied: Markor
15.05.2008 um 09:02 Uhr
Hi,

ich habe die gleiche Problemstellung.
Ich muß überprüfen ob eine Datei älter als x Minuten ist. Ist dies der Fall muß ich ein Net Send absetzten oder eine Mail erzeugen(sprich Benachrichtigung).

Da das Thema aber schon etwas angeraut ist, kennt jemand ein kleines Tool um das Problem zu lösen?

Danke

Markor
Bitte warten ..
Mitglied: Biber
17.05.2008 um 12:48 Uhr
Moin Markor,

sorry, hab Deinen Kommentar eben erst gefunden.
Ein Tool dazu brauchen wir nach heutigem Kenntnisstand nicht... wir haben mittlerweiler mehrere Beispiele in "Batch & Shell", die mit einer Handvoll Zeilen ein temporäres VBSkript mit Aufruf der Funktion Datediff() erzeugen.

Such mal über Forumssuche nach "Dateien älter als" ohne ähnliches.

Solltest Du über den Weg nichts in vertretbarer Zeit finden, mach bitte in "Batch & Skript" einen eigenen Beitrag auf. Mit sinnvollem Titel... dieser hier hat da noch Potentiale.

Dieser hier ist eigentlich überholt... out of date.

Grüße
Biber
[Edit 19.5.2008]
Markor hat es mittlerweile mit WasFile gelöst in einem seiner anderen Beiträge. Daher schließe ich jetzt diesen Thread. [/Edit]
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Batch & Shell
gelöst älteste dateien via batch löschen (6)

Frage von cali169 zum Thema Batch & Shell ...

Batch & Shell
gelöst Per Batch Dateien in einen Ordner - ext. Festplatte übertragen (2)

Frage von tocksick zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (14)

Frage von liquidbase zum Thema Windows Update ...