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

Textdatei löschen wenn bestimmer Inhalt fehlt

Frage Entwicklung Batch & Shell

Mitglied: m4dddd

m4dddd (Level 1) - Jetzt verbinden

16.04.2008, aktualisiert 17.04.2008, 3538 Aufrufe, 5 Kommentare

Hallo,

ist es möglich über eine Batchdatei folgendes zu realisieren:

Eine Textdatei enthält diverse Daten. Davon gibt es 50 Stück täglich. Über eine Batch soll überprüft werden, wenn folgender Text z. B. "ABC123" nicht enthalten ist, soll diese komplette Textdatei gelöscht werden. Überall wo dieser Zeichensatz enthalten ist, soll nichts passiern.

Wie könnte die Batch aussehen? Vielen Dank jetzt schon mal.
Mitglied: bastla
16.04.2008 um 15:39 Uhr
Hallo m4dddd!

Eigentlich genügt dafür eine Zeile:
01.
@for %%i in ("D:\Dein Ordner\*.txt") do @findstr "ABCD123" "%%i">nul || @echo del "%%i%
Falls sich auch andere Dateien im selben Ordner befinden sollten, wäre zu überlegen, wie sich die Dateiauswahl auf die "richtigen" beschränken lässt, etwa "D:\Dein Ordner\ABC*.txt" - dies insbesondere, wenn es noch andere ".txt"-Dateien gibt.

Zur Sicherheit steht in der obigen Zeile ein "@echo" vor dem Löschbefehl - so werden die zu löschenden Dateien nur angezeigt. Wenn Du wirklich löschen willst, das "@echo" einfach entfernen.

Zum Testen ist es übrigens sinnvoll, den Batch direkt von der Kommandozeile zu starten, oder als zweite Zeile "@pause" hinzuzufügen.

Grüße
bastla
Bitte warten ..
Mitglied: Biber
16.04.2008 um 17:10 Uhr
Moin m4dddd,

geringfügige Variation von bastlas Lösung, hier zum Test am CMD-Prompt:
01.
@for /f "delims=" %i in ('findstr /m /i "ABCD123" "D:\Dein Ordner\*.txt"')  do @Echo del "%i"
Findstr /m gibt nur die Dateinamen (incl.Pfad) der Dateien aus, die den Suchtext enthalten.
Auch hier gilt: wenn es pass, nach dem testen das "@echo" weglassen.

Grüße
Biber
Bitte warten ..
Mitglied: bastla
16.04.2008 um 17:58 Uhr
@Biber

"/m" wollte ich eigentlich auch verwenden, allerdings mit "/v" (weil: "wenn folgender Text z. B. "ABC123" nicht enthalten ist, soll diese komplette Textdatei gelöscht werden") - scheint aber in dieser Kombination nicht zu funktionieren ...

Grüße
bastla
Bitte warten ..
Mitglied: Biber
16.04.2008 um 18:03 Uhr
@bastla

...uuuuuuuuuppps... das "nicht enthalten" hatte ich in der Tat überlesen.
....ja, ich weiß, ich hätte ja auch auf die Überschrift schauen können....

Und ja - die Kombination von "/m" und "/v" ist NICHT vorgesehen und mangels Nachfrage wohl auch nicht in der Planung bei diesen Redmonder Hoffnungsträgern.

Also bitte meinen Exkurs oben als "Off Topic" gedanklich ausblenden oder auf /IGNORE setzen.

Grüße
Biber
Bitte warten ..
Mitglied: m4dddd
17.04.2008 um 08:08 Uhr
Super! Hat geklappt! Vielen Dank für die schnellen Antworten!
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst In allen Textdateien eines bestimmten Pfades die Zeilen x bis Ende löschen (2)

Frage von Schloth zum Thema Batch & Shell ...

Exchange Server
gelöst Inhalt von Postfächern in Exchange löschen (9)

Frage von m.reeger zum Thema Exchange Server ...

Windows 7
gelöst Batch für User-TEMP-Ordner und Inhalte löschen (2)

Frage von planetIT2016 zum Thema Windows 7 ...

Neue Wissensbeiträge
LAN, WAN, Wireless

Schwachstelle im WPA2 Protokoll veröffentlicht

(3)

Information von colinardo zum Thema LAN, WAN, Wireless ...

Heiß diskutierte Inhalte