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

Mit Batch Datei suchen, Alter vergleichen und entspr. User in Datei schreiben

Frage Entwicklung Batch & Shell

Mitglied: 52188

52188 (Level 1)

27.02.2008, aktualisiert 12:57 Uhr, 8367 Aufrufe, 6 Kommentare

Das Skript soll nach der Bookmark.nsf suchen, gucken ob diese Älter ist als 6 Wochen und wenn ja, dann soll es den dazugehörigen User in eine Datei schreiben.

Hallo zusammen.

Wir benutzen in der Firma Lotus Notes, wobei die Emails auf nem Server und lokal liegen, das heißt eigentlich soll der User immer synchronisieren mit einem anderen Tool, Easy2Sync. Nun kommt es vor, dass das eben manche User nicht machen und die wollen wir nun benachrichtigen. Dabei sieht vereinfacht die Struktur so aus:

>D:\User001\Bookmark.nsf
>D:\User002\Bookmark.nsf
>etc...

Nun soll das Skript nach der Bookmark.nsf suchen, gucken ob diese Älter ist als 6 Wochen und wenn ja, dann soll es den dazugehörigen User in eine Datei schreiben. Optional wäre halt dass die Datei an einen Admin geschickt wird und / oder ne Email an den User, wobei das wirklich nur optional ist.

Jetzt hab ich shcon von anfang an ein Problem, hab mir mal for /? ausgedruckt, und denke dass ich mit For /R [] anfange, wobei ich das hier noch nie so gesehen habe dass jmd diesen Parameter benutzt :/

Vielen Dank im vorraus.

EDIT:
Bezüglich dem Alter der Datei, damit ist gemeint, wann die Datei das letzte mal angefasst worden ist, sprich Zugriff.
Mitglied: 52188
27.02.2008 um 09:33 Uhr
Okay, hier noch mein Ansatz

for /r "x:\" %%i in (bookmark.nsf?) do @echo %%i
Bitte warten ..
Mitglied: 52188
27.02.2008 um 09:46 Uhr
Hm...also das bekomme ich als Ausgabe

x:\User001\bookmark.nsf
x:\User002\bookmark.nsf
x:\User003\bookmark.nsf

Nun dachte ich, füge die Zeile hinzu, aber das geht net, wo ist der Fehler? Ich vermute die Variable %%I

for /r "x:\" %%i in (bookmark.nsf?) do for /F "tokens=2 delims=\" %%j in (%%i) do @echo %%j
Bitte warten ..
Mitglied: 61319
27.02.2008 um 09:47 Uhr
Hi,

der Ansatz mit der for-Schleife ist nicht schlecht.
Du könntest auch mit einem "dir /s", den Du auf eine Datei umleitest schon mal das Änderungsdatum der Dateien herrausfinden.

Einfacher wäre das ganze aber in einem VBScript zu lösen, da Dir da alle Möglichkeiten offen stehen.

Gruß
Niko
Bitte warten ..
Mitglied: 52188
27.02.2008 um 10:05 Uhr
Würde gerne bei Batch bleiben weil ich VBS garnicht kann ^^

hab jetzt auch den Fehler gefunden
for /r "x:\" %%i in (bookmark.nsf?) do for /F "tokens=2 delims=\ " %%j in ('echo %%i') do @echo %%j
Bitte warten ..
Mitglied: Biber
27.02.2008 um 12:01 Uhr
Moin wurzel87,

für Datumsvergleiche solltest Du nicht native Batch verwenden, sondern entweder (zusätzlich) temporäres VBSkript oder ein Sahnetool wie dieses WasFile von Horst Schaeffer.

Dann würdest Du mit einem Konstrukt dieser Art...
01.
... 
02.
for /r "x:\userkrams" %%i in (*.nsf) do @wasfile "%%i" modified before today-45 && echo %%i
.. alle *.nsf-Dateien älter 45 Tage geliefert bekommen.

Grüße
Biber
Bitte warten ..
Mitglied: 52188
27.02.2008 um 12:57 Uhr
Alles klar, habs so gemacht, und es läuft wunderbar, vielen Dank
Bitte warten ..
Neuester Wissensbeitrag
Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (33)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

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

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...

Windows Netzwerk
Windows 10 RDP geht nicht (18)

Frage von Fiasko zum Thema Windows Netzwerk ...