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

Batch für autom. löschen nach File-Grösse

Frage Entwicklung Batch & Shell

Mitglied: Integral

Integral (Level 1) - Jetzt verbinden

09.05.2009, aktualisiert 13:59 Uhr, 8911 Aufrufe, 10 Kommentare

Hallo liebe Gemeinde!

Ich möchte *.wav-Dateien in einem Verzeichnis die kleiner als zB. 100kB sind automatisch mittels einer *.bat löschen,
diese *.bat sollte in einem bestimmten Verzeichnis und Unterverzeichnis nach Dateien <100kB suchen und im 5-Minutenintervall löschen.

Hat jemand ein solches Script parat?

Danke
Mitglied: bastla
09.05.2009 um 14:13 Uhr
Hallo Integral und willkommen im Forum!

Für's Löschen wäre es eigentlich nur eine Zeile:
for %%i in ("D:\Ein Verzeichnis\*.wav") do if %%~zi lss 100000 echo del "%%i"
Das "echo" vor dem "del" sorgt dafür, dass noch nicht wirklich gelöscht, sondern der Löschbefehl nur angezeigt wird.

Hinsichtlich der Wiederholung alle 5 Minuten könntest Du zB diese Zeile zusammen mit der "sleep.exe" aus den Windows Server 2003 Resource Kit Tools in einer (Endlos-)Schleife platzieren ...

Grüße
bastla
Bitte warten ..
Mitglied: Integral
10.05.2009 um 11:03 Uhr
Ich danke für die rasche Antwort, leider funktioniert dieses Script nicht (oder ich bin zu dumm!). Ich hab die Zeile einfach in ein Text-File kopiert und in löschen.bat unbenannt, nur beim ausführen passiert nichts.
Bitte warten ..
Mitglied: bastla
10.05.2009 um 11:11 Uhr
Hallo Integral!
Ich hab die Zeile einfach in ein Text-File kopiert und in löschen.bat unbenannt, nur beim ausführen passiert nichts.
Zumindest den Verzeichnisnamen "D:\Ein Verzeichnis" wirst Du vermutlich angepasst haben , daher sollte eigentlich eine Liste der zu löschenden Dateien (wenn es gerade passend kleine gibt) ausgegeben werden. Wenn Du den Batch direkt von der Kommandozeile startest, kannst Du diese Liste dann in aller Ruhe kontrollieren; bei einem Start per Doppelklick aus einem Explorerfenster müsstst Du noch eine Zeile
pause
hinzufügen, damit das Fenster nach der Ausführung nicht sofort geschlossen wird.

Grüße
bastla
Bitte warten ..
Mitglied: Integral
10.05.2009 um 12:38 Uhr
Gelesen werden sie zwar, aber nicht gelöscht:


C:\Dokumente und Einstellungen\Maritschnegg\Desktop>for %i in ("D:\Test\*.wav")
do if %~zi LSS 700000 echo del "%i"

C:\Dokumente und Einstellungen\Maritschnegg\Desktop>if 6253198 LSS 700000 echo d
el "D:\Test\dj.wav"

C:\Dokumente und Einstellungen\Maritschnegg\Desktop>if 592242 LSS 700000 echo de
l "D:\Test\hotline.wav"
del "D:\Test\hotline.wav"

C:\Dokumente und Einstellungen\Maritschnegg\Desktop>if 16418830 LSS 700000 echo
del "D:\Test\schmiers in die haar.wav"

C:\Dokumente und Einstellungen\Maritschnegg\Desktop>pause
Drücken Sie eine beliebige Taste . . .
Bitte warten ..
Mitglied: Biber
10.05.2009 um 12:59 Uhr
Moin Integral,

Gelesen werden sie zwar, aber nicht gelöscht:
Dieses Verhalten nennt man/frau in unseren Kreisen anerkennend "works as designed".

Genau so sollte es sein, denn vor dem unbeaufsichtigten Löschen von ein paar GByte sollte ein angemessener Test vorangehen.
Bitte lies noch einmal die detaillierten Kommentare von bastla.

Grüße
Biber
Bitte warten ..
Mitglied: bastla
10.05.2009 um 13:19 Uhr
... und damit's etwas besser lesbar wird, erweitere den Batch auf:
01.
@echo off & setlocal 
02.
for %%i in ("D:\Test\*.wav") do if %%~zi LSS 700000 echo del "%%i" 
03.
pause
Grüße
bastla
Bitte warten ..
Mitglied: Biber
10.05.2009 um 17:43 Uhr
Moin bastla,

das SetLocal verhindert, dass Du versehentlich globale Variablen mit Deinen SETs überschreibst?? *g

Grüße
Biber
Bitte warten ..
Mitglied: bastla
10.05.2009 um 17:48 Uhr
@Biber
Wer mir wohl diese "Standardfloskel" seinerzeit nahegelegt hat ...

... und, abgesehen von der "Automatik": Wer weiß, wie sich dieser Batch noch auswächst ...

Grüße
bastla

P.S.: [OT] Du warst das wohl nicht, der die ganzen Smileys eingezogen hat (ist ja noch Sonntag *g)? [/OT]
Bitte warten ..
Mitglied: Biber
10.05.2009 um 18:15 Uhr
Moin bastla,

<OT>
Ich bin ja nur heute so sensibilisiert für Standardfloskeln und deren Risiken, weil heute das Involuntary You Too das word of the day auf Urban Dictionary ist.

Was die fehlenden Smiley angeht... ich brauche ja keine.
Ich scherze doch nie.
</OT>

Grüße und schönen Sonntag
Biber
Bitte warten ..
Mitglied: Integral
10.05.2009 um 19:37 Uhr
Ich will mal erklären wozu ich dieses Script benötige:
Die AVAYA IP-Office500 (Telefonanlage) hat ein Voicemail-System, sprich, wenn ein Anrufer auf dieser Box landet werden etwa nur 20% Nachrichten hinterlassen. Also sind 80% der Nachrichten eigentlich "Null-Nachrichten", wo eben der Anrufer nach Aufzeichnungsbeginn vielleicht nach 1 oder 2 Sekunden auflegt. Und diese Nachrichten werden aber ebenfall aum Apparat signalisiert. Um die Flut der leeren Nachrichten einzudämmen möchte ich eben alle wav-files die kleiner als 100kB sind automatisch löschen. (100 kB sind ca. 3 Sekunden Aufnahme).

Diese Batch sollte so alle 5 oder 10 Minuten ein Verzeichnis durchsuchen und alle wav´s kleiner als 100 kB ohne Bestätigung oder Abfrage löschen.
Der Verzeichnisstamm heisst "Accounts", darunter liegen die Ordner der Nebenstellen.
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

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

Ähnliche Inhalte
Batch & Shell
gelöst älteste dateien via batch löschen (6)

Frage von cali169 zum Thema Batch & Shell ...

Batch & Shell
gelöst Kl. Frage: Log-File schreiben per Batch (3)

Frage von Yauhun zum Thema Batch & Shell ...

Batch & Shell
gelöst ( Batch ) Open File or Folder Dialog (5)

Frage von clragon zum Thema Batch & Shell ...

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

Frage von homermg zum Thema Router & Routing ...

Windows Server
DHCP Server switchen (20)

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

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

Frage von semperf1delis zum Thema Exchange Server ...

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

Frage von MegaGiga zum Thema Hardware ...