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

Verschiedenste Dateien in einem Ordner auf ihre Größe prüfen, wenn größer x dann Meldung

Frage Entwicklung Batch & Shell

Mitglied: Nollosch

Nollosch (Level 1) - Jetzt verbinden

23.02.2012, aktualisiert 18.10.2012, 4605 Aufrufe, 11 Kommentare

Hallo Freunde der gepflegten Programmierung

Ich verbringe leider zuviel Zeit mit weniger hilfreichen Dingen, so dass ich kaum die Zeit habe, mir mit Scripten weiterzuhelfen.

Ich muss Ordner (Zugriff per Admin auf die Rechner besteht) mit verschiedenen Dateien (Meist sind es aber gleiche Dateitypen) auf ihre Größe prüfen.

Also reinschauen, absteigend nach Größe sortieren und wenn welche über 1GB dabei sind, einen weiteren Schritt einleiten. Höchstwahrscheinlich Mail an mich oder Notiz in LOG Datei um diese später zu checken.

Ich habe diesen Thread gefunden Alle Dateien in einem Ordner, die unter einer bestimmten Dateigröße liegen, löschen. Das sieht mir schon ganz nützlich aus, aber wie drehe ich den Spies um? Dann natürlich del in >.\log.log ändern und ich wäre glücklich. Oder ist das dafür untauglich?

Ich steh total auf dem Schlauch und weiß mir nicht zu helfen.


Grüße
Mitglied: 60730
23.02.2012 um 11:41 Uhr
Moin,

da hast du aber "leider" genau das falsche Script in den Händen...
Im Prinzip passt die Logik schon, jedoch ist das ein ganz unsauberes Beispiel.
Siehe mein damaliger Kommentar.

Wie sowas mal grob aussehen könnte, wenn es auch Dateien in Unterordnern betrifft....

for /r laufwerk\pfad %a in (*) do if %~za gtr 102400000 @echo %a

wobei laufwerk\pfad natürlich sinngemäß auf deinen Ordner zielen muß und das nur eine "Demo" für die Dosbox ist.
Die Zeile gibt dir so alle Dateinamen aus, die größer als 1GB sind.
Bitte warten ..
Mitglied: Skyemugen
23.02.2012 um 11:44 Uhr
Aloha,

nujoa, bissl Umbauen

01.
@echo off & setlocal 
02.
set "Pfad=E:\Downloads" 
03.
set "LOG=E:\datei.log" 
04.
set groesse=1024000000 
05.
for /r %Pfad% %%s in (*.typ *.abc *.xyz) do ( 
06.
	if %%~zs GTR %groesse% ( 
07.
		echo Folgende Datei wurde entfernt: %%s - Groesse: %%~zs>>%LOG% 
08.
		REM echo dient zum Testlauf / Anschauen 
09.
		echo del %%s 
10.
11.
12.
pause
zum Bleistift

greetz André
Bitte warten ..
Mitglied: Nollosch
23.02.2012 um 12:58 Uhr
Zitat von Skyemugen:

echo Folgende Datei wurde entfernt: %%s - Groesse: %%~zs>>%LOG%
REM echo dient zum Testlauf / Anschauen
echo del %%s
)
)
pause</code>

zum Bleistift

greetz André

Erstmal danke, mir werden tatsächlich Dateien die "größer sind als" angezeigt. Leider mit kompletten Pfad, aber das ist nicht soo tragisch.

Was hat das "del" beim Echo zu bedeuten?

Kann man die Größenangabe beim "echo in LOG" auch humanreadable gestalten?

@TimoBeil - als Einzeiler in der DOS Box werden mir if´s je Datei wiedergegeben und wenn größer der komplette Pfad zur Datei.
Eigentlich ganz nett, aber wie verarbeite ich das weiter? In einer .bat stürzt es mir ab trotz Pause am Ende
Bitte warten ..
Mitglied: 60730
23.02.2012 um 13:12 Uhr
Salve,

es gibt größeren einen Unterschied zwischen Andrés Adaption und meiner minimimik.

  • André hat eine Batch umgeschrieben - erkennbar an den doppelten Prozentzeichen, ich eine Demo für die Dosbox.
  • dann hat er den pauchalen echo off Hammer ausgepacktübernommen, den finde ich zum lernen und probieren suboptimal.
  • Dafür hat er dir gezeigt, wie du bestimmte Dateisuffixe durchorgeln kannst, ich nehme alles
  • Wenn du nur die Ergebnise sehen willst.. (das if wird silent gestartet)
for /r laufwerk\pfad %a in (*) do @if %~za gtr 102400000 @echo %a
  • Wenn du nur die Dateinamen samt suffixe sehen willst:
for /r laufwerk\pfad %a in (*) do @if %~za gtr 102400000 @echo %~nxa
  • Wenn du das in ein Log ausgeben willst
for /r laufwerk\pfad %a in (*) do @if %~za gtr 102400000 @echo %~nxa>>logfile.log

gebe einfach mal for /? in der Dosbox ein und scrolle einwenig dort ist das alles ganz gut beschrieben.

Gruß
Bitte warten ..
Mitglied: Skyemugen
23.02.2012 um 13:37 Uhr
Zitat von Nollosch:
Leider mit kompletten Pfad, aber das ist nicht soo tragisch.
%%s ==> %%~nxs
Was hat das "del" beim Echo zu bedeuten?
cmd auf ==> del /? ==> enter (du hast nicht angegeben, was du machen willst also blieb es als Beispiel drin)
Kann man die Größenangabe beim "echo in LOG" auch humanreadable gestalten?
Kann man, nach Vorgabe, sicherlich tun (wie schon oft geschehen)

greetz André
Bitte warten ..
Mitglied: Nollosch
23.02.2012 um 14:37 Uhr
Fein fein. Das funktioniert sehr gut, aber wie in einem Script verwenden?

Das mit for /? hatte ich schon vorher gemacht, aber irgendwie fehlt mir da eine Klasse Batch um den Faden zu finden. Ich lese mir alles durch, bin danach aber kein Stück schlauer.

Grüße
Bitte warten ..
Mitglied: Nollosch
23.02.2012 um 14:41 Uhr
Ich muss jetzt hier erstmal nen Break machen. Schaue mir das so bald wie möglich nochmal an. Muss es letztlich noch mit einigen Dingen kombinieren w.z.B. Zuordnung, Zeit Datum u.s.w.


Vielen Dank erstmal für die Hilfe ...

... und einen schönen Tag euch!
Bitte warten ..
Mitglied: Nollosch
24.02.2012 um 13:59 Uhr
Hallo zusammen!

Ich starte das Programm welches die evtl. zu großen Dateien erzeugt jetzt mit einer modifizierten Verknüpfung (C:\WINDOWS\system32\cmd.exe /c .bat Script & Programm.exe (minimiert)).

Im Script (von Skyemugen) hab ich am Ende eine .vbs Info Box für das ECHO eingefügt. Es popt also ein mit OK zu bestätigendes Fenster auf, wenn eine Datei größer ist als angegeben.

Leider noch mit kompletten Pfad.

Zitat: Skyemugen
Kommentar Skyemugen schreibt am 23.02.2012, 13:37:50 Uhr
Zitat von Nollosch:
Leider mit kompletten Pfad, aber das ist nicht soo tragisch.
%%s ==> %%~nxs


Wo gehört dieses %%s ==> %%~nxs hin das es funktioniert?

Wenn das noch raus käme, wäre die Lösung perfekt, da ohnehin die Anwender dafür verantwortlich sind und so eine saubere Lösung auf den Schirm bekämen.


Grüße
Bitte warten ..
Mitglied: Skyemugen
24.02.2012 um 14:12 Uhr
...

echo Folgende Datei wurde entfernt: %%~nxs - Groesse: %%~zs>>%LOG%

war das nicht eigentlich eindeutig, dass %%s im echo durch %%~nxs zu ersetzen ist?

P.S.: n = Dateiname | x = Dateiendung
Bitte warten ..
Mitglied: Nollosch
24.02.2012 um 14:39 Uhr
Ich liebe D*** ..... hätt ich beinahe gesagt.

Ich Idiot hatte es auch im for Befehl ausgetauscht und wunderte mich über Abstürze (Strg+H lässt grüßen).

Ist ne richtig feine Lösung geworden.


VIELEN VIELEN DANK
Bitte warten ..
Mitglied: 60730
24.02.2012, aktualisiert 18.10.2012
moin,

Das mit dem Idiotalfall hast du geschrieben, ich dir das da, das hätte man auch lesen können.

Ps: "Können" - können wir auch mit einem Porschmintfarbenen Haken an dem Fred rechnen?
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Dateien mit vorgegebener Größe erstellbar? (3)

Frage von Stefan007 zum Thema Batch & Shell ...

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

Frage von DanielBodensee zum Thema IDE & Editoren ...

Batch & Shell
Script, Groß- in Kleinschreibung für vordefinierte Ordner (7)

Frage von d4shoerncheN zum Thema Batch & Shell ...

Windows Netzwerk
Bginfo Home-Ordner und Roaming Profil Größe anzeigen (7)

Frage von Angelo131095 zum Thema Windows Netzwerk ...

Neue Wissensbeiträge
Multimedia

Raspberry Pi als Digital-Signage-Computer

(1)

Information von BassFishFox zum Thema Multimedia ...

Windows Update

Novemberpatches und Nadeldrucker bereiten Kopfschmerzen

(16)

Tipp von MettGurke zum Thema Windows Update ...

Windows 10

Abhilfe für Abstürze von CDPUsersvc auf Win10 1607 und 2016 1607

(7)

Tipp von DerWoWusste zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Router & Routing
Freigabe aus anderem Netz nicht erreichbar (33)

Frage von McLion zum Thema Router & Routing ...

Visual Studio
Vb.net-Tool zum Erzeugen einer Outlook-E-Mail (24)

Frage von ahstax zum Thema Visual Studio ...

Batch & Shell
Batch Programm verhalten bei shoutdown -p (19)

Frage von Michael-ITler zum Thema Batch & Shell ...

Windows Netzwerk
Netzwerk Neustrukturierung (15)

Frage von IT-Dreamer zum Thema Windows Netzwerk ...