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

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, 3519 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 ..
Neuester Wissensbeitrag
CPU, RAM, Mainboards

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

(1)

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

Heiß diskutierte Inhalte
DSL, VDSL
DSL-Signal bewerten (13)

Frage von SarekHL zum Thema DSL, VDSL ...

Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (13)

Frage von JayyyH zum Thema Switche und Hubs ...

Windows Server
Mailserver auf Windows Server 2012 (9)

Frage von StefanT81 zum Thema Windows Server ...

Backup
Clients als Server missbrauchen? (9)

Frage von 1410640014 zum Thema Backup ...