Top-Themen

Aktuelle Themen (A bis Z)

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

Batch, mit DIR nur .exe und .dll dateien aus gewissem zeitraum auflisten

Frage Entwicklung

Mitglied: d3luxe

d3luxe (Level 1) - Jetzt verbinden

17.03.2009, aktualisiert 20:03 Uhr, 6978 Aufrufe, 11 Kommentare

Also nach meinem letzten threat hab ich jetzt nochmal einen neuen gemacht da es ja ein anderes thema ist... sollte das nicht richtig sein sagt mir bescheid!

Also ich möchte mit dem DIR befehl eine art Log datei erstellen die alle .exe und .dll dateien die in den letzten 3 monaten erstellt, bearbeitet wurden enthält!

Soll ich da ein ganz normales log machen und das später irgendwie nachbearbeiten oder gibt es einen parameter für den DIR befehl mit dem man das alles machen kann? Wenn es kein parameter gibt erklärt mir bitte wie ich das bearteite!
Mitglied: bastla
17.03.2009 um 20:31 Uhr
Hallo d3luxe!

Da bin ich im anderen Thread etwas zu spät gekommen ...

Du könntest anstelle von "dir" den Befehl "xcopy" ein wenig "zweckentfremden":
01.
@echo off & setlocal 
02.
set "Quelle=D:\Ein Ordner" 
03.
set "Datum=12-17-2008 
04.
set "Log=D:\Logdatei.txt" 
05.
set "Ziel=C:\" 
06.
 
07.
if exist "%Log%" del "%Log%" 
08.
for /f "delims=" %%i in ('xcopy /s /y /d:%Datum% /L "%Quelle%\*.exe" "%Ziel%" ^|findstr /v /c:"Datei(en) kopiert"') do >>"%Log%" echo %%~ti %%i 
09.
for /f "delims=" %%i in ('xcopy /s /y /d:%Datum% /L "%Quelle%\*.dll" "%Ziel%" ^|findstr /v /c:"Datei(en) kopiert"') do >>"%Log%" echo %%~ti %%i
Das "Ziel" (es wird ja wegen des "/L" nicht wirklich kopiert) muss mit einem "\" enden und darf nicht gleich mit der Quelle sein oder unterhalb davon liegen (daher am besten ein anderes Laufwerk wählen).

Mit dynamischem Datum sähe das etwa so aus:
01.
@echo off & setlocal 
02.
set "Quelle=D:\Ein Ordner" 
03.
set /a Monate=3 
04.
set "Log=D:\Logdatei.txt" 
05.
set "Ziel=C:\" 
06.
 
07.
set "T=%date:~-10,2%" 
08.
set /a M=1%date:~-7,2%-%Monate% 
09.
set "J=%date:~-4% 
10.
if %M% leq 100 ( 
11.
    set /a M+=12 
12.
    set /a J-=1 
13.
14.
set "Datum=%M:~-2%-%T%-%J%" 
15.
 
16.
if exist "%Log%" del "%Log%" 
17.
for /f "delims=" %%i in ('xcopy /s /y /d:%Datum% /L "%Quelle%\*.exe" "%Ziel%" ^|findstr /v /c:"Datei(en) kopiert"') do >>"%Log%" echo %%~ti %%i 
18.
for /f "delims=" %%i in ('xcopy /s /y /d:%Datum% /L "%Quelle%\*.dll" "%Ziel%" ^|findstr /v /c:"Datei(en) kopiert"') do >>"%Log%" echo %%~ti %%i
Falls es noch mehr Dateitypen werden sollten, wäre eine Schleife angebracht:
01.
@echo off & setlocal 
02.
set "Quelle=D:\Ein Ordner" 
03.
set "Typen=exe dll bat" 
04.
set /a Monate=3 
05.
set "Log=D:\Logdatei.txt" 
06.
set "Ziel=C:\" 
07.
 
08.
set "T=%date:~-10,2%" 
09.
set /a M=1%date:~-7,2%-%Monate% 
10.
set "J=%date:~-4% 
11.
if %M% leq 100 ( 
12.
    set /a M+=12 
13.
    set /a J-=1 
14.
15.
set "Datum=%M:~-2%-%T%-%J%" 
16.
 
17.
if exist "%Log%" del "%Log%" 
18.
for %%a in (%Typen%) do ( 
19.
    for /f "delims=" %%i in ('xcopy /s /y /d:%Datum% /L "%Quelle%\*.%%a" "%Ziel%" ^|findstr /v /c:"Datei(en) kopiert"') do >>"%Log%" echo %%~ti %%i 
20.
)
Noch als Anmerkung: Falls auch die Dateigröße benötigt wird: %%~zi

Grüße
bastla

[Edit] Datum im ersten Beispiel auf Dezember - sollten ja nur 3 Monate sein - korrigiert [/Edit]
Bitte warten ..
Mitglied: bastla
17.03.2009 um 21:06 Uhr
... aber da ja eigentlich nach "dir" gefragt war :
01.
@echo off & setlocal 
02.
set "Quelle=D:\Ein Ordner" 
03.
set "Typen=*.exe *.dll" 
04.
set /a Monate=3 
05.
set "Log=D:\Logdatei.txt" 
06.
 
07.
set "T=%date:~-10,2%" 
08.
set /a M=1%date:~-7,2%-%Monate% 
09.
set "J=%date:~-4% 
10.
if %M% leq 100 ( 
11.
    set /a M+=12 
12.
    set /a J-=1 
13.
14.
set "Datum=%J%-%M:~-2%-%T%" 
15.
 
16.
if exist "%Log%" del "%Log%" 
17.
pushd "%Quelle%" 
18.
for /f "delims=" %%i in ('dir /s /b /a-d %Typen%') do ( 
19.
    for /f "tokens=1-3 delims=. " %%a in ("%%~ti") do if %%c-%%b-%%a geq %Datum% >>"%Log%" echo %%~ti %%i 
20.
21.
popd
Grüße
bastla
Bitte warten ..
Mitglied: d3luxe
17.03.2009 um 21:16 Uhr
nochmal danke für die antworten :D ich werd herumexperimentieren und mir die für meinen zweck beste mehtode heraussuchen! Das mit dem "dir" sieht am besten aus :D die Typen kann ich ja erweitern? weil ich werde diese nehmen:

.bak1
.bak2
.bat
.cmd
.com
.dll
.ini2
.pif
.reg
.ren
.scr
.sys
.vbs
.vir
.exe
.bin
.wsf
.vbe
.dat

Das ganze soll mal ein scanner werden der die dateien der letzten zeit auflistet und ein script ausführen kann :D Das script das es einlesen kann muss ich auch erst noch erschaffen :D
Bitte warten ..
Mitglied: bastla
17.03.2009 um 21:22 Uhr
Hallo d3luxe!
die Typen kann ich ja erweitern?
Falls die Liste zu lang würde (hab ich selbst noch nicht mit so vielen Typen versucht), könntest Du ja mehrere Schleifen hintereinander ausführen - lässt sich auch in jeweils eine einzige Zeile packen:
for %%a in (%Typen%) do for /f "delims=" %%i in ('xcopy /s /y /d:%Datum% /L "%Quelle%\*.%%a" "%Ziel%" ^|findstr /v /c:"Datei(en) kopiert"') do >>"%Log%" echo %%~ti %%i
oder
for /f "delims=" %%i in ('dir /s /b /a-d %Typen%') do for /f "tokens=1-3 delims=. " %%a in ("%%~ti") do if %%c-%%b-%%a geq %Datum% >>"%Log%" echo %%~ti %%i
Das mit dem "dir" sieht am besten aus
Die "xcopy"-Version sollte aber schneller sein ...

Grüße
bastla
Bitte warten ..
Mitglied: d3luxe
17.03.2009 um 21:25 Uhr
ich makiere das ganze mal noch nicht als gelöst erst werde ich versuchen das ganze umzusetzen! Was mein problem ist, es soll auf jedem PC laufen und nicht jeder pc hat 2 partitionen oder festplatten! Deswegen kann ich das ganze nicht auf C:\ lassen? Die logs usw.?
Bitte warten ..
Mitglied: bastla
17.03.2009 um 21:35 Uhr
Hallo d3luxe!
nicht jeder pc hat 2 partitionen oder festplatten!
Du kannst als "Ziel" des "xcopy" auch eine Freigabe (als UNC-Pfad) angeben.

Wenn das gesamte Laufwerk C: durchsucht werden soll, kann tatsächlich "C:\" nicht als Ziel angegeben werden (Fehler: Zyklische Kopie nicht möglich).

Abgesehen davon darf die "Quelle" nicht mit einem "\" enden, sodass dafür also nur "C:" anzugeben wäre.
Das oben Gesagte gilt nicht für die "dir"-Variante - die sollte überall funktionieren ...

Grüße
bastla
Bitte warten ..
Mitglied: d3luxe
17.03.2009 um 21:40 Uhr
Also die xcopy Methode gibt kein Log aus! ich habe die Pfade entsprechend meines pcs angepasst aber es gibt nirgends ein log!

[code]@echo off & setlocal
set "Quelle=E:\test"
set "Typen=exe dll bat"
set /a Monate=3
set "Log=E:\Logdatei.txt"
set "Ziel=C:\"

set "T=%date:~-10,2%"
set /a M=1%date:~-7,2%-%Monate%
set "J=%date:~-4%
if %M% leq 100 (
set /a M+=12
set /a J-=1
)
set "Datum=%M:~-2%-%T%-%J%"

if exist "%Log%" del "%Log%"
for %%a in (%Typen%) do (
for /f "delims=" %%i in ('xcopy /s /y /d:%Datum% /L "%Quelle%\*.%%a" "%Ziel%" ^|findstr /v /c:"Datei(en) kopiert"') do echo %%~ti %%i >> "%Log%"
)
pause[/code]

die >> "%Log%" echo %%~ti %%i Methode hat nicht funktioniert deswegen hatte ich das umgeändert! Aber es hat nichts geändert! es stürzt nicht ab es läuft bis zum pausebefehl durch!

Die dir methode teste ich gleich!

Die DIR methode läuft durch aber es kommt, Datei nicht gefunden!

Muss %Quelle% das sein was ich scannen möchte?

Achja.. wie mache ich so Codes?
Bitte warten ..
Mitglied: bastla
17.03.2009 um 21:53 Uhr
Hallo d3luxe!
wie mache ich so Codes?
Anstelle der eckigen Klammern "<" und ">" verwenden (bzw Formatierungshilfe ansehen)
die >> "%Log%" echo %%~ti %%i Methode hat nicht funktioniert deswegen hatte ich das umgeändert!
Daran sollte es keinesfalls liegen ...

Wie sieht bei Dir die Ausgabe eines
echo %date%
aus? Vorausgesetzt habe ich
17.03.2009
oder
Di 17.03.2009
Zur Kontrolle kannst Du auch noch am Ende des Batches ein %Datum% ausgeben lassen - sollte bei der Variante "xcopy"
01.
12-17-2008
und bei der "dir"-Version
01.
2008-12-17
ergeben.

Schließlich wäre noch ein Test mit
for %i in (E:\metin2accs\*.*) do @echo %~ti %i
von der Kommandozeile sinnvoll - das Ergebnis sollte ein Ausgabeformat der Art
17.03.2009 21:45 E:\metin2accs\test.txt
haben.

Grüße
bastla
Bitte warten ..
Mitglied: d3luxe
17.03.2009 um 21:59 Uhr
Danke für deine antwort!

Ich weiß woran es lag... Bei Quelle musste ich C:\ angeben da hattest du etwas verwechselt weil in E:\metin2accs lagen keine .exe .dll oder .bat dateien darum auch kein log!
Ich habe das jetzt geändert und beide Varianten funktionieren die DIR und die xcopy methode ^^ Danke für deine antwort! Ich werde die DIR methode nutzen da ich sie auf allen systemen anwenden kann und nicht nur an denen mit partitionen!
Bitte warten ..
Mitglied: d3luxe
02.04.2009 um 19:43 Uhr
Ich glaube deine Methode berücksichtigt nur den Monat.. aber es ignoriert das Jahr :D da landen Sachen von 2002 usw. im log ^^ fällt dir da noch was ein wie man das genauer filtern kann?
Bitte warten ..
Mitglied: bastla
02.04.2009 um 19:55 Uhr
Hallo d3luxe!
fällt dir da noch was ein
Am ehesten, wenn Du meine obigen Datumsformat-Fragen geklärt haben wirst ...

Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
Monitoring
Netzwerk über einen gewissen Zeitraum scannen
gelöst Frage von devil7974Monitoring5 Kommentare

Hallo zusammen, ich suche ein Freewaretool mit dem ich über einen gewissen Zeitraum unser Netzwerk nach aktiven IP-Adressen scannen ...

Batch & Shell
Batch-Datei in Exe-Datei umwandeln - .exe im Autostart
gelöst Frage von Luuke257Batch & Shell7 Kommentare

Hallo zusammen! Ich habe mir (mit reichlicher Hilfe) eine Batch-Datei geschrieben, die informationen über den PC ausliest und in ...

Batch & Shell
Parameteruebergabe an exe - datei ueber ein Batch
gelöst Frage von BiffBaffBatch & Shell17 Kommentare

Hallo zusammen, ich habe eine batch datei die eine exe datei aufruft und mehrmals ausfuehrt: for /L %%a IN ...

Batch & Shell
Batch Script - Dateien eines best. Zeitraumes zusammenzählen
gelöst Frage von lesclaypoolBatch & Shell13 Kommentare

Hallo zusammen, vorweg: ich habe wenig, bis keine Ahnung vom batch scripting. Alles was ich im Internet an Lösungen ...

Neue Wissensbeiträge
Apple

IOS 11.2.1 stopft HomeKit-Remote-Lücke

Tipp von BassFishFox vor 1 TagApple

Das Update für iPhone, iPad und Apple TV soll die Fernsteuerung von Smart-Home-Geräten wieder in vollem Umfang ermöglichen. Apple ...

Windows 10

Windows 10 v1709 EN murkst bei den Regionseinstellungen

Tipp von DerWoWusste vor 1 TagWindows 10

Dieser kurze Tipp richtet sich an den kleinen Personenkreis, der Win10 v1709 EN-US frisch installiert und dabei die englische ...

Webbrowser

Kein Ton bei Firefox Quantum über RDP

Tipp von Moddry vor 1 TagWebbrowser

Hallo Kollegen! Hatte das Problem, dass der neue Firefox bei mir auf der Kiste keinen Ton hat, wenn ich ...

Internet

EU-DSGVO: WHOIS soll weniger Informationen liefern

Information von sabines vor 1 TagInternet4 Kommentare

Wegen der europäische Datenschutzgrundverordnung stehen die Prozesse um die Registrierung von Domains auf dem Prüfstand. Sollte die Forderungen umgesetzt ...

Heiß diskutierte Inhalte
Hardware
Kein Bild mit nur einer bestimmten Grafikkarten - Mainboard Konfiguration
gelöst Frage von bestelittHardware18 Kommentare

Hallo zusammen, ich hatte schon einmal eine ähnliche Frage gestellt. Damals hatte ich genau das gleiche Problem. Allerdings lies ...

Windows Server
RODC kann nicht aus Domäne entfernt werden
Frage von NilsvLehnWindows Server18 Kommentare

HAllo, ich arbeite in einem Universitätsnetzwerk mit 3 Standorten. Die Standorte haben alle ein ESXi Cluster und auf diesen ...

Hardware
Links klick bei Maus funktioniert nicht
gelöst Frage von Pablu23Hardware16 Kommentare

Hallo erstmal. Ich habe ein Problem mit meiner relativ alten maus jedoch denke ich nicht das es an der ...

Netzwerkmanagement
Mehrere Netzwerkadapter in einem PC zu einem Switch zusammenfügen
Frage von prodriveNetzwerkmanagement16 Kommentare

Hallo zusammen Vorweg, ich konnte schon einige IT-Probleme mit Hilfe dieses Forums lösen. Wirklich klasse hier! Doch für das ...