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, 8401 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 ..
Ähnliche Inhalte
Batch & Shell
gelöst Batch Eingabe in Datei schreiben (2)

Frage von MedicalAd zum Thema Batch & Shell ...

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

Frage von cali169 zum Thema Batch & Shell ...

Batch & Shell
gelöst Größe einer Datei per BATCH in eine TXT schreiben (5)

Frage von marvinpl zum Thema Batch & Shell ...

Neue Wissensbeiträge
Windows Tools

Zeit für Energiesparmodus, Bildschirmabschaltung etc. schnell anpassen

Anleitung von hannsgmaulwurf zum Thema Windows Tools ...

Linux Netzwerk

Ping und das einstellbare Bytepattern

(1)

Erfahrungsbericht von LordGurke zum Thema Linux Netzwerk ...

Windows Update

Microsoft Update KB4034664 verursacht Probleme mit Multimonitor-Systemen

(4)

Tipp von beidermachtvongreyscull zum Thema Windows Update ...

Heiß diskutierte Inhalte
Microsoft Office
Office Druck fehler (18)

Frage von DaistwasimBusch zum Thema Microsoft Office ...

Windows Server
Zertifikat am DC erneuern funktioniert nicht (13)

Frage von takvorian zum Thema Windows Server ...