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

Per Batch alle Dateien mit einem bestimmten String löschen

Frage Entwicklung Batch & Shell

Mitglied: Maikell84

Maikell84 (Level 1) - Jetzt verbinden

13.09.2013 um 13:22 Uhr, 4220 Aufrufe, 6 Kommentare

Hallo!

Ich habe ein Problem. Ich habe einen Ordner mit 300.000 .MAI Dateien. Von diesen Dateien sollen ca 290.000 gelöscht werden. Und zwar alle die einen bestimmten String enthalten!

Wie bekomme ich das per Windows-cmd-Befehl hin?


Habe schon diesen Befehl probiert, aber da passiert einfach nur gar nichts...

for /f "tokens=1 delims=:" %I in ('findstr SOMEstring *MAI') do @del %I


Viele Grüße
Maikell
Mitglied: 106543
13.09.2013 um 13:49 Uhr
Hi,

muss es eine Batch sein oder kann man das auch mit VBA/VBS lösen ?

Grüße
Exze
Bitte warten ..
Mitglied: Maikell84
13.09.2013 um 13:53 Uhr
Hi,

das ganze ist auf einem Windows 2008 Server.
Kenne mich mit VBS leider gar nicht aus, aber wenn Ihr mir sagt wie ich das antelle dann darf es gerne auch VBA/VBS sein. ^^

Grüße
Maikell
Bitte warten ..
Mitglied: 106543
13.09.2013 um 13:59 Uhr
Hiho,

Theoretisch müsste es in Batch doch einfacher gehen. Kann es leider grade nicht testen, aber per Wilcard "*" sollte das möglich sein.
01.
del *[bestimmter String]*.*
müsste erfolg bringen oder ? ich weiß nicht mehr genau, wie die Wildcard in Batch war, sorry kann auch sein dass ich völlig daneben liege.

Grüße
Exze
Bitte warten ..
Mitglied: Maikell84
13.09.2013 um 14:01 Uhr
Halt Missverständnis! ;)

Der String ist nicht im Dateinamen, sondern in der Datei!
So eine Datei hat ca 20 Zeilen und an einer bestimmten Stelle steht eben dieser String.

Wenn String gefunden -> Löschen
Wenn String nicht gefunden -> Nächste Datei überprüfen.
Bitte warten ..
Mitglied: Biber
13.09.2013 um 15:50 Uhr
Moin Maikell84,

du warst schon relativ nah dran mit deinem Versuch

Du must nur noch die Option /M verwenden, die nur die Dateinamen mit Treffern zurückgibt.

Beispiel am CMD-Prompt:
01.
>for /f "delims=" %i in ('findstr /i /M "Biber" "y:\eigene dateien\biber\*.txt"') do @echo del "%i" 
02.
del "y:\eigene dateien\biber\_dieGesuchte.txt"
Zweite Zeile ist die Rückgabe.
Zum Testen habe ich nur das "@echo del" statt dem echten Befehl "del" ausgeführt.
Und ich habe noch den Parameter /i (ignoriere Klein/Grossschreibung) reingenommen.

Wenn du deine 300000 *.MAI-Dateien testen willst, dann solltest du vielleicht nicht *.MAI nehmen, sondern einen etwas einschränkendere Wildcard (2010*.AMI oder wie die Namenskonventionen da halt sind.

Rein interessehalber: in welchem privaten oder auch Firmen-Umfeld kann denn unbemerkt ein Ordner mit 300000++ Dateien entstehen, ohne dass sich jemand darum kümmert??

Grüße
Biber
Bitte warten ..
Mitglied: Maikell84
13.09.2013, aktualisiert um 21:34 Uhr
Zitat von Biber:
Moin Maikell84,

du warst schon relativ nah dran mit deinem Versuch

Du must nur noch die Option /M verwenden, die nur die Dateinamen mit Treffern zurückgibt.

Beispiel am CMD-Prompt:
01.
>for /f "delims=" %i in ('findstr /i /M "Biber" "y:\eigene 
02.
> dateien\biber\*.txt"') do @echo del "%i" 
03.
> del "y:\eigene dateien\biber\_dieGesuchte.txt" 
04.
> 
Zweite Zeile ist die Rückgabe.
Zum Testen habe ich nur das "@echo del" statt dem echten Befehl "del" ausgeführt.
Und ich habe noch den Parameter /i (ignoriere Klein/Grossschreibung) reingenommen.

Vielen Dank!!!
Das funktioniert so, es zwar leider sehr träge, aber über Nacht wird da schon ein bisschen was gehen.


Rein interessehalber: in welchem privaten oder auch Firmen-Umfeld kann denn unbemerkt ein Ordner mit 300000++ Dateien entstehen,
ohne dass sich jemand darum kümmert??


Gestern Abend kurz nach Feierabend hat jemand den Mailaccount eines Users gehackt. Über den gehackten Account hat er dann die ganze Nacht systematisch SPAM-Mails rausgeblasen, bis am Morgen 300.000 E-Mails in der Queue waren und der Mailserver total verstopft war und nichts mehr ging!

Die Mailserver-Software bietet zwar die Möglichkeit die Queue anzuschauen und zu bearbeiten, aber bei dieser Menge friert die Software nur ein und stürtzt ab. Deshalb habe ich die Mails händisch aus der Queue rauskopiert, will sie nun mit o.g. Befehl filtern und die restlichen Mails dann zurück in die Queue kopieren.
(Bin mal gespannt auf wievielen Blacklists wir nun gelandet sind...)


Also vielen Dank für die Hilfe!
Bitte warten ..
Neuester Wissensbeitrag
CPU, RAM, Mainboards

Angetestet: PC Engines APU 3a2 im Rack-Gehäuse

(1)

Erfahrungsbericht von ashnod zum Thema CPU, RAM, Mainboards ...

Ähnliche Inhalte
Heiß diskutierte Inhalte
Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (14)

Frage von JayyyH zum Thema Switche und Hubs ...

DSL, VDSL
DSL-Signal bewerten (13)

Frage von SarekHL zum Thema DSL, VDSL ...

Windows Server
Mailserver auf Windows Server 2012 (9)

Frage von StefanT81 zum Thema Windows Server ...