Suche und protokollierung von Dateien ab, bzw. bis zu einem bestimmten Alter
Hallo Admin-Gemeinde,
ich habe ein Problem, und zwar soll ich in unserem Netzwerk einen Dateiscan machen, der mir alle Dateien bis zum 31.12.2003 auflistet und diese dann in einer txt Datei speichert. Mit der Windows Suche ist es kein Problem, aber das ganze soll per Script (DOS) laufen. Kann mir jemand helfen?
Ich stelle es mir folgendermaßen vor
BEFEHL /date:31.12.2003 >> scan.txt
Und als Ergebniss sollte in der scan.txt folgendes stehen
04.05.2000 - 14:30 - ERSTELLER - C:\Dokumente\Datei.doc
Ich hoffe das war verständlich. Falls mir jemand hilft, wär ich echt dankbar.
ich habe ein Problem, und zwar soll ich in unserem Netzwerk einen Dateiscan machen, der mir alle Dateien bis zum 31.12.2003 auflistet und diese dann in einer txt Datei speichert. Mit der Windows Suche ist es kein Problem, aber das ganze soll per Script (DOS) laufen. Kann mir jemand helfen?
Ich stelle es mir folgendermaßen vor
BEFEHL /date:31.12.2003 >> scan.txt
Und als Ergebniss sollte in der scan.txt folgendes stehen
04.05.2000 - 14:30 - ERSTELLER - C:\Dokumente\Datei.doc
Ich hoffe das war verständlich. Falls mir jemand hilft, wär ich echt dankbar.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 20541
Url: https://administrator.de/contentid/20541
Ausgedruckt am: 22.11.2024 um 22:11 Uhr
3 Kommentare
Neuester Kommentar
Na, DragonKM,
da hast Du aber echt ein Problem.. Du glaubst doch nicht im Ernst, dass so etwas mit Bordmitteln machbar ist...
Also ich an Deiner Stelle würde das schön in sauber und in Ruhe in einem VBS-Skriptchen zusammenbraten - diese Aufgabe mit Batch zu lösen, ist wirklich was für Steinbeißer..
Sei's drum.. nur um zu zeigen, dass es machbar ist:
schreibt mit zwei Parametern [Startverzeichnis] und [Deadline-Datum] aufgerufen folgendes in die Scan.txt:
ListFilesWithOwnerOlderThan X:\Groups\Beispiel 01-01-2004
12.12.2003 14:53 38.400 VORDEFINIERT\Administra..X:\Groups\Beispiel\Dokumentation\Größenberechnung
25.06.2003 10:53 356.352 VORDEFINIERT\Administra..X:\Groups\Beispiel\Dokumentation\Beispiel_VIEWS_Stand_2003_06_24.doc
23.02.2003 14:52 65.024 VORDEFINIERT\Administra..X:\Groups\Beispiel\Dokumentation\Übergabeprotokoll_2003_02_18.doc
23.02.2003 14:48 31.232 DOMAIN1\USER34 ..X:\Groups\Beispiel\Dokumentation\Übergabeprotokoll_2003_02_18.xls
Aber er hat seine Grenzen... Username wird nur abgeschnitten geliefert ("VORDEFINIERT\Administra") und wenn ein den Dateinamen Leerzeichen sind, geht die Endung verloren beim Umformatieren.
HTH anyway
Biber
da hast Du aber echt ein Problem.. Du glaubst doch nicht im Ernst, dass so etwas mit Bordmitteln machbar ist...
Also ich an Deiner Stelle würde das schön in sauber und in Ruhe in einem VBS-Skriptchen zusammenbraten - diese Aufgabe mit Batch zu lösen, ist wirklich was für Steinbeißer..
Sei's drum.. nur um zu zeigen, dass es machbar ist:
::---snipp ListFilesWithOwnerOlderThan.bat
@echo off & Setlocal enableDelayedExpansion
:: (c) Biberware 2005
IF [%2]== (echo Syntax %0 Startverzeichnis M-T-Y-Datum ) & goto :eof
Set "StartDir=%~1"
Set "DeadLine=/d:%2"
Set "New=%temp%\newerThan2004" & set "OldFiles=%temp%\olderthan2004"
Set "OldWithOwner=%temp%\older2004WithOwner"
Set "Final=scan.txt"
If Exist "%OldWithOwner%" del "%OldWithOwner%"
If Exist "%Final%" del "%Final%"
xcopy "%startdir%" %temp%\ /s /y /i /l %deadLine%|find /v "Datei(en) kopiert">%New%
xcopy "%startdir%" %temp%\ /s /y /i /l /exclude:%New%|find /v "Datei(en)">%OldFiles%
for /F "delims=" %%i in (%oldFiles%) do (
for /f "tokens=1-4*" %%a in ('dir /Q "%%i"^|find "%%~nxi"') do (
call :writeFinal "%%i" %%a %%b %%c "%%d"
))
Goto :eof
~~
:writeFinal
Set "OwnerAndFileName=%~5"
Set /a "TokeninName=0" & Set "Firstpart=@@@@@"
for %%i in (%~n1) do if not [%%i]== if [!FirstPart!]==[@@@@@] set "FirstPart=%%i"
Echo %2 %3 %4 !OwnerAndFileName:%Firstpart%=..%~dp1%Firstpart%!>>%Final%
goto :eof
::---snapp ListFilesWithOwnerOlderThan.bat
schreibt mit zwei Parametern [Startverzeichnis] und [Deadline-Datum] aufgerufen folgendes in die Scan.txt:
ListFilesWithOwnerOlderThan X:\Groups\Beispiel 01-01-2004
12.12.2003 14:53 38.400 VORDEFINIERT\Administra..X:\Groups\Beispiel\Dokumentation\Größenberechnung
25.06.2003 10:53 356.352 VORDEFINIERT\Administra..X:\Groups\Beispiel\Dokumentation\Beispiel_VIEWS_Stand_2003_06_24.doc
23.02.2003 14:52 65.024 VORDEFINIERT\Administra..X:\Groups\Beispiel\Dokumentation\Übergabeprotokoll_2003_02_18.doc
23.02.2003 14:48 31.232 DOMAIN1\USER34 ..X:\Groups\Beispiel\Dokumentation\Übergabeprotokoll_2003_02_18.xls
Aber er hat seine Grenzen... Username wird nur abgeschnitten geliefert ("VORDEFINIERT\Administra") und wenn ein den Dateinamen Leerzeichen sind, geht die Endung verloren beim Umformatieren.
HTH anyway
Biber