bve
Goto Top

BATCH - Datei anhand der Größe finden

Mit welchem Befehl kann ich eine Datei anhand der Größe (z.B. 24 KB) finden??

Content-Key: 16513

Url: https://administrator.de/contentid/16513

Printed on: April 23, 2024 at 21:04 o'clock

Member: Biber
Biber Sep 22, 2005 at 11:56:32 (UTC)
Goto Top
Beispiel:
>for /R e:\ %i in (*.zip) do @if %~zi GTR 25000 if %~zi LSS 26000 @echo %~i %~zi
e:\Microsoft\grpcopy.zip 25400 

(Suche nach alle Dateien *.zip größer als 25000 und kleiner als 26000 Byte auf Laufwerl E:\)

HTH
Frank / der Biber aus Bremen
Member: bve
bve Sep 22, 2005 at 12:47:28 (UTC)
Goto Top
Klappt nicht. Ich bekomme keine Ausgabe. Ich möchte gerne das alle EXE-Datei mit der Größe von 57355 (Solitär) gefunden werden und die Ausgabe in eine Datei erfolgt, wo die Datei gefunden wurde.
Member: bve
bve Sep 22, 2005 at 13:01:25 (UTC)
Goto Top
War doch alles richtig, hatte einen Fehler gemacht. Wenn gehts und es wird auch ein log erzeugt. Allerdings befinden sich auf dem PC mehrere Dateien mit der gleichen größe, aber es wird nur eine Datei ins Log geschrieben. Bitte helft mir.

for /R c:\ %i in (*.exe) do @if %~zi GTR 57343 if %~zi LSS 57345 @echo %~i %~zi >c:\sol.log
Member: Biber
Biber Sep 22, 2005 at 13:02:05 (UTC)
Goto Top
??? keine Ausgabe
for /R c:\ %i in (sol*.*) do @if %~zi GTR 50000 if %~zi LSS 60000 @echo %~i %~zi
c:\WINDOWS\system32\sol.exe 57344
c:\WINDOWS\system32\dllcache\sol.exe 57344
Member: Biber
Biber Sep 22, 2005 at 13:04:19 (UTC)
Goto Top
Sorry, war über Kreuz.
for /R c:\ %i in (*.exe) do @if %~zi GTR 57343 if %~zi LSS 57345 @echo %~i %~zi >>c:\sol.log
oder
for /R c:\ %i in (*.exe) do @if %~zi EQU 57344 @echo %~i %~zi >>c:\sol.log

[Edit] Bevor mich eine(r) darauf aufmerksam macht: Die Größenangabe in letzten Fall ist ein bisschen albern.
Hab ich ganz allein gemerkt.. *nickt*... Also:
for /R c:\ %i in (*.exe) do @if %~zi EQU 57344 @echo %~i >>c:\sol.log
[/Edit]
Member: bve
bve Sep 22, 2005 at 13:29:08 (UTC)
Goto Top
Klasse, das klappt schonmal gut in der Kommando-Zeile. Kopiere ich den Befehl aber in eine .bat datei kommt folgende Fehlermeldung:

Die folgende Verwendung des Pfadoperators zur Ersetzung eines Batchparameters
ist ungültig: %~i %~zi >>c:\sol.log

Geben Sie CALL /? oder FOR /? ein, um herauszufinden, welche Formate gültig
sind.
"bat" ist syntaktisch an dieser Stelle nicht verarbeitbar.

Man muss in der .bat Datei das % gegen %% ersetzten (siehe Hilfe) und schon klappt es wunderbar. Vielen Dank für deine Hilfe. Wieder ein Admin glücklicher auf der Welt face-wink
Member: Biber
Biber Sep 22, 2005 at 13:40:37 (UTC)
Goto Top
Gern geschehen und Thx für den Tipp mit den doppelten Prozentzeichen face-wink
Falls ich mal eine Frage an die Clients habe, die ich nicht in einer CMD-Zeile formulieren kann, werde ich den %%-Trick verwenden.