Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

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

Dateigröße von Wert X bis Wert Y ermitteln. ( iF Datei größer x aber kleiner y )

Frage Entwicklung Batch & Shell

Mitglied: Nollosch

Nollosch (Level 1) - Jetzt verbinden

08.08.2012, aktualisiert 13:31 Uhr, 4687 Aufrufe, 4 Kommentare

Hallo Leute, seid gegrüßt

Ich habe einen Ordner mit verschiedenen Dateien. Die Dateien die ich suche sind zw. 800 und 1500MB groß. trifft diese Größe zu, will ich eine Ausgabe bzw. einen .log Eintrag generieren.

Ich hab folgendes versucht, stehe aber aktuell auf dem Schlauch. Bisher läuft alles ohne das Zweite if einwandfrei.


01.
@echo off & setlocal 
02.
Setlocal EnableDelayedExpansion 
03.
 
04.
set "LOG=C:\check.log" 
05.
set "Pfad=C:\Test" 
06.
set groesse=799000000 
07.
set groesse2=1499000000 
08.
 
09.
for /r %Pfad% %%s in (*.exe) do ( 
10.
	if %%~zs GTR %groesse% && if %%~zs LSS %groesse2% ( 
11.
		echo Folgende Datei ist zu groß: %%~nxs - Groesse: %%~zs - >>%LOG% 
12.
13.
)
Welchen Operator, wenn überhaupt möglich, sollte ich zwischen den if nutzen?
Muss ich eine weitere Schleife nutzen?
Ist die Lösung generell schlecht?

Ich habs bisher nur mit
01.
 if %%~zs GTR %groesse% 
gemacht und lief einwandfrei. Nun hat sich aber rausgestellt, dass es größere Dateien gibt, die ich nicht erfassen will/darf.

Über jede Hilfe bin ich dankbar. Auch über bessere Suchparameter, denn bisher hab ich nichts Brauchbares gefunden.


Euer Nollosch
Mitglied: bastla
08.08.2012 um 14:10 Uhr
Hallo Nollosch!
Welchen Operator, wenn überhaupt möglich, sollte ich zwischen den if nutzen?
Keinen.

Grüße
bastla
Bitte warten ..
Mitglied: Darkprodukt
08.08.2012, aktualisiert um 14:36 Uhr
Hm...

(Ungetestet)
01.
@echo off & setlocal 
02.
Setlocal EnableDelayedExpansion 
03.
 
04.
set "LOG=C:\check.log" 
05.
set "Pfad=C:\Test" 
06.
set groesse=799000000 
07.
set groesse2=1499000000 
08.
 
09.
for /f %%i in ('dir /a-s-h-d /b /s "%Pfad%\*.exe"') do ( 
10.
	if %%~zs GEQ %groesse% ( 
11.
                                if %%~zs LEQ %groesse2% echo Folgende Datei ist zu groß: %%~nxs - Groesse: %%~zs - >>%LOG% 
12.
		 
13.
14.
)
So hat man die Datein ausgabe die zwischen 800MB und 1500MB liegen.

Ich bin jezt aber nicht sicher, ob du die ausgabe so woltest oder obs die ausgeben soll,
die nicht im bereich sind. >>Folgende Datei ist zu groß:<<


Grüße
Darkprodukt
Bitte warten ..
Mitglied: Nollosch
08.08.2012, aktualisiert um 15:03 Uhr
Zitat von bastla:
Hallo Nollosch!
> Welchen Operator, wenn überhaupt möglich, sollte ich zwischen den if nutzen?
Keinen.

Grüße
bastla


Ich musste direkt lachen. Man-o-Meter bin ich blöd. Darauf hätt ich ja eigentlich auch kommen können.


Vielen vielen Dank, es funktioniert tadellos.



@Darkprodukt

Zitat von Darkprodukt:

Ich bin jezt aber nicht sicher, ob du die ausgabe so woltest oder obs die ausgeben soll,
die nicht im bereich sind. >>Folgende Datei ist zu groß:<<


Grüße
Darkprodukt

Diese Meldung stammt noch aus Zeiten wo die Datei einfach nur eine Minimumgröße haben musst um auszulösen.

Ich werde mir deinen Vorschlag dennoch mal anschauen.

Auch Dir vielen Dank für deinen Mühen.



Euer Nollosch
Bitte warten ..
Mitglied: 60730
08.08.2012, aktualisiert um 23:58 Uhr
Moin,

Zitat von Darkprodukt:
Hm...

(Ungetestet)

Ot
Was macht ein echo off und was hat das in einem ungetesteten batch verloren?
Fuer was braucht man das setlocal doppelt?
@echo off & setlocal
Setlocal EnableDelayedExpansion
Wenn man in einer schleife keinen token benutzt, wie kommt man dann von i nach s?

for /f %%i in ('dir /a-s-h-d /b /s "%Pfad%\*.exe"') do (
if %%~zs GEQ %groesse% (
if %%~zs LEQ %groesse2% echo diese meldung wird niemals gemeldet.


Gruss
Bitte warten ..
Ähnliche Inhalte
Microsoft Office
Excel: maximale Anzahl in Folge stehender Werte ermitteln (1)

Frage von Flexxa zum Thema Microsoft Office ...

IDE & Editoren
Editor für grosse Dateien (9)

Frage von DanielBodensee zum Thema IDE & Editoren ...

Batch & Shell
gelöst Dateien mit vorgegebener Größe erstellbar? (3)

Frage von Stefan007 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Sicherheit

Kanadischer Geheimdienst veröffentlicht erstmals Sicherheitssoftware

Information von BassFishFox zum Thema Sicherheit ...

Virtualisierung

Docker Monitoring und Steuerung per "sen"

Tipp von Frank zum Thema Virtualisierung ...

Viren und Trojaner

Neues Botnetz über IoT-Geräte

(6)

Information von certifiedit.net zum Thema Viren und Trojaner ...

Heiß diskutierte Inhalte
Windows Installation
Windows 10 neu installieren (18)

Frage von imebro zum Thema Windows Installation ...

Windows 7
Abbruch bei Brennvorgang (16)

Frage von Simulant zum Thema Windows 7 ...

Router & Routing
Externe IP von innen erreichbar machen (15)

Frage von Windows10Gegner zum Thema Router & Routing ...