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, 8377 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
Windows 10

Sticky Notes - Autostart unterbinden

Tipp von Pedant zum Thema Windows 10 ...

Ähnliche Inhalte
Batch & Shell
gelöst Verlinkung erstellen Batch Datei mit for Schleife (2)

Frage von rusdav zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch Datei Kopieren (17)

Frage von Frager zum Thema Batch & Shell ...

Batch & Shell
Batch datei zum Hochladen von Datein auf ftp server (2)

Frage von loxymus zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Batch & Shell
gelöst Base64 Decode (Batch,VBS) (26)

Frage von clragon zum Thema Batch & Shell ...

Router & Routing
Tipps für Router (ca. 100 clients, VPN) (17)

Frage von oel-auge zum Thema Router & Routing ...