Top-Themen

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

for Schleife mit Unterverzeichnissen

Frage Entwicklung Batch & Shell

Mitglied: InTreaTer

InTreaTer (Level 1) - Jetzt verbinden

26.05.2008, aktualisiert 27.05.2008, 6139 Aufrufe, 5 Kommentare

Hallo zusammen!

Ich habe bereits das passende Skript von Biber gefunden, nur leider läuft das nur im aktuellen Verzeichnis und nimmt nicht alle Unterverzeichnisse mit.

Folgendes soll geschehen:
- suche in allen Unterverzeichnissen alle msg-Dateien durch nach dem String xyz
- wenn du xyz in irgendeiner msg-Datei in irgendeiner Zeile findest, lösche die komplette Zeile
- die modifizierte Datei soll im selben Verzeichnis mit selben Namen bestehen bleiben

folgendes Skript von Biber läuft einwandfrei, aber nimmt eben nur das aktuelle Verzeichnis mit:
@echo off & setlocal
for %%i in (*.msg) DO (
findstr /v /b /i "xyz" "%%~fi">"%%~fi.bak"
move "%%~fi.bak" "%%~fi"
)


Wie kann ich das erweitern auf Unterverzeichnisse?



Danke vorab und Grüße,

Markus.
Mitglied: bastla
26.05.2008 um 14:27 Uhr
Hallo InTreaTer!

Etwa so:
01.
@echo off & setlocal 
02.
for /f "delims=" %%i in ('dir /s /b *.msg') do ( 
03.
    findstr /v /b /i "xyz" "%%i">"%%i.bak" 
04.
    move "%%i.bak" "%%i" 
05.
)
Grüße
bastla
Bitte warten ..
Mitglied: InTreaTer
27.05.2008 um 09:55 Uhr
leider nicht ganz. Der schreibt mir ALLE Dateien neu, nicht nur die mit xyz drin.
Bitte warten ..
Mitglied: bastla
27.05.2008 um 10:47 Uhr
Hallo InTreaTer!

Das war auch schon bei der oben geposteten Fassung so - geschrieben werden alle Zeilen, die nicht mit "xyz" beginnen.

Um das Neuschreiben von Dateien, die ohnehin den Suchbegriff nicht enthalten, zu vermeiden, müsste das etwa so aussehen:
01.
@echo off & setlocal 
02.
for /f "delims=" %%i in ('dir /s /b *.msg') do ( 
03.
    findstr /b /i "xyz" "%%i">nul && ( 
04.
        findstr /v /b /i "xyz" "%%i">"%%i.bak" 
05.
        move "%%i.bak" "%%i">nul 
06.
07.
)
Grüße
bastla
Bitte warten ..
Mitglied: Biber
27.05.2008 um 10:55 Uhr
Moin Eintreter,

dann kannst Du es so ändern:

01.
@echo off 
02.
REM noch überflüssig:  & setlocal 
03.
for /f "delims=" %%i in ('findstr /s /m /b /i "xyz" "D:\einverz\*.msg"') do ( 
04.
        findstr /v /b /i "xyz" "%%i">"%%i.bak" 
05.
        move "%%i.bak" "%%i">nul 
06.
)
[ungetestet wie immer]

Das erste Findstr /s /m /b /i "xyz" "D:\einverz\*.msg" sucht in allen Unterverzeichnissen unter D:\Einverz nach *.msg-Dateien mit dem Suchtext "xyz" und liefert nur den Dateinamen (mit Pfad).
Ersetzt also das DIR in oberen Schnipsel.

Grüße
Biber
Bitte warten ..
Mitglied: InTreaTer
27.05.2008 um 14:00 Uhr
Hallo bastla,
hallo Biber,

die Methode von bastla hat zum Erfolg geführt. Jetzt haut es hin. Vielen Dank an dieser Stelle!

Bei dir, Biber ist ein Fehler im Skript. Eine Klammer ist hinter do auf jeden Fall zu wenig, aber irgendwas frisst er trotzdem nicht,...

Aber wie gesagt, es haut hin und das ist die Hauptsache


Viele Grüße,

Markus.
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
For Schleife für Abgleich mit Text-Datei und Unterverzeichnisse
gelöst Frage von grisurBatch & Shell4 Kommentare

Hallo zusammen, habe mich extra angemeldet, da ich bei einem kleinen Problem nicht so schnell weiterkomme. Bin Batch-Anfänger und ...

Batch & Shell
FOR Schleife mit Unterverzeichnissen, die Ausgabe kürzen (tokens evtl.)
gelöst Frage von KriegstreiberBatch & Shell5 Kommentare

Hallo, ich hätte mal eine Frage, eine FOR Schleife treibt mich in den Wahnsinn. Es geht um folgendes: Mein ...

Batch & Shell
Namensvergleich von Unterverzeichnisse
gelöst Frage von BlattlausOGBatch & Shell20 Kommentare

Hallo allerseits, ich bin neu in diesem Forum und möchte an erster Stelle alle recht herzlich Grüßen :) Ein ...

Batch & Shell
Batch Schleife als FOR-SCHLEIFE
gelöst Frage von mp2711Batch & Shell2 Kommentare

Mit den FOR-Schleifen habe ich mich leider bislang zu selten auseinander gesetzt, aber da ich sonst gerade nicht weiter ...

Neue Wissensbeiträge
Tipps & Tricks

Solutio Charly Updater Fehlermeldung: Das Abgleichen der Dateien in -Pfad- mit dem Datenobject ist fehlgeschlagen

Tipp von StefanKittel vor 7 StundenTipps & Tricks

Hallo, hier einmal als Tipp für alle unter Euch die mit der Zahnarztabrechnungssoftware Charly von Solutio zu tun haben. ...

Sicherheit

Meltdown und Spectre: Wir brauchen eine "Abwrackprämie", die die CPU-Hersteller bezahlen

Information von Frank vor 7 StundenSicherheit7 Kommentare

Zum aktuellen Thema Meltdown und Spectre: Ich wünsche mir von den CPU-Herstellern wie Intel, AMD oder ARM eine Art ...

Sicherheit

Meltdown und Spectre: Realitätscheck

Information von Frank vor 8 StundenSicherheit6 Kommentare

Die unangenehme Realität Der Prozessorfehler mit seinen Varianten Meltdown und Spectre ist seit Juni 2017 bekannt. Trotzdem sind immer ...

Sicherheit

Meltdown und Spectre: Die machen uns alle was vor

Information von Frank vor 8 StundenSicherheit12 Kommentare

Aktuell sieht es in den Medien so aus, als hätten die Hersteller wie Intel, Microsoft und Co den aktuellen ...

Heiß diskutierte Inhalte
Windows 10
Netbook erkennt Soundkarte nicht - keinerlei Info zum Hersteller und Modell vom Netbook und Hardware bekannt
Frage von 92943Windows 1031 Kommentare

Guten Tag, meine Schwester reist in einigen Wochen für ein paar Monate ins Ausland und hat sich dafür ein ...

Batch & Shell
Anmeldevorgang für Informatikraum (Schule) unter Windows
gelöst Frage von IngenieursBatch & Shell29 Kommentare

Hey zusammen, ich werde in naher Zukunft den Informatik Raum meiner jetzigen Schule von dem aktuellen Betreiber übernehmen (Vertrag ...

Netzwerkgrundlagen
Welches Modem für VDSL 50000 der T-Com
Frage von Windows10GegnerNetzwerkgrundlagen20 Kommentare

Hallo, ein Kollege von mir will sich VDSL50000 von der T-Com holen, um daran einen Server zu betreiben. Ich ...

Batch & Shell
AD-Abfrage in Batchdatei und Ergebnis als Variable verarbeiten
gelöst Frage von Winfried-HHBatch & Shell19 Kommentare

Hallo in die Runde! Ich habe eine Ergänzungsfrage zu einem alten Thread von mir. Ausgangslage ist die Batchdatei, die ...