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

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, 4649 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 ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Batch & Shell
Wert in einer TXT Datei suchen (11)

Frage von nolle99 zum Thema Batch & Shell ...

Mac OS X
gelöst Finale Dateigröße ohne Entpacken ermitteln (3)

Frage von pelzfrucht zum Thema Mac OS X ...

Heiß diskutierte Inhalte
Router & Routing
gelöst Ipv4 mieten (22)

Frage von homermg zum Thema Router & Routing ...

Exchange Server
gelöst Exchange 2010 Berechtigungen wiederherstellen (20)

Frage von semperf1delis zum Thema Exchange Server ...

Windows Server
DHCP Server switchen (20)

Frage von M.Marz zum Thema Windows Server ...

Hardware
gelöst Negative Erfahrungen LAN-Karten (19)

Frage von MegaGiga zum Thema Hardware ...