verschiedene Zeilen aus .txt entfernen
Hi, hab Schwierigkeiten bei der ausfilterung von Diensten.
Dienste die bei der Standart Windows-Installation antiviert sind sollen aus der Text Datei gelöscht werden.
Also so das ich in der Datei sehe wenn welche dazugekommen sind.
Gruß waldgnarf
Dienste die bei der Standart Windows-Installation antiviert sind sollen aus der Text Datei gelöscht werden.
Also so das ich in der Datei sehe wenn welche dazugekommen sind.
@echo off & setlocal enableDelayedExpansion
net start>temp.txt
set A="Folgende Windows-Dienste sind gestartet:"
set B="Designs"
...
for %%I in (temp.txt) do type ('find /v %A%, %B%') >OUT.txt
del temp.txt
Gruß waldgnarf
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 79793
Url: https://administrator.de/contentid/79793
Ausgedruckt am: 20.11.2024 um 11:11 Uhr
8 Kommentare
Neuester Kommentar
Hallo waldgnarf!
Einmal abgesehen davon, dass "type" durch "echo" zu ersetzen wäre und es auch ohne (diese) "for"-Schleife ginge, also etwa
ist Dein Ziel doch offensichtlich der Vergleich der zu verschiedenen Zeitpunkten laufenden Dienste - daher vielleicht eher so:
Grüße
bastla
Einmal abgesehen davon, dass "type" durch "echo" zu ersetzen wäre und es auch ohne (diese) "for"-Schleife ginge, also etwa
findstr /v /c:%A% temp.txt | findstr /v /c:%B% >out.txt
@echo off & setlocal
::Zeitpunkt 1
net start>temp.txt
...
...
::Zeitpunkt2
net start|findstr /v /g:temp.txt>diff.txt
Grüße
bastla
Hallo waldgnarf!
Die zum Vergleich erforderliche "temp.txt" musst Du nur einmal erstellen (und ggf editieren) - der "Zeitpunkt1" in meinem Beispiel wäre also zB unmittelbar, nachdem Du einen Rechner vollständig installliert hast. Du musst nur dafür sorgen, das "temp.txt" alle Zeilen einer "net start"-Ausgabe enthält, die Du nicht sehen willst.
Übrigens: Was der von Dir gepostete (stellenweise etwas abenteuerlich wirkende) Batch mit dem Thema zu tun hat, kann ich beim besten Willen nicht erkennen ...
Grüße
bastla
ich wollte den script im Autostart laufen lassen
Was spräche denn dagegen? Alle zusätzlich zu den in "temp.txt" aufscheinenden "Standard-Diensten" ausgeführten Services kannst Du mit der Zeile "net start|findstr /v /g:temp.txt>diff.txt" heraussuchen und in eine Datei schreiben lassen.Die zum Vergleich erforderliche "temp.txt" musst Du nur einmal erstellen (und ggf editieren) - der "Zeitpunkt1" in meinem Beispiel wäre also zB unmittelbar, nachdem Du einen Rechner vollständig installliert hast. Du musst nur dafür sorgen, das "temp.txt" alle Zeilen einer "net start"-Ausgabe enthält, die Du nicht sehen willst.
Übrigens: Was der von Dir gepostete (stellenweise etwas abenteuerlich wirkende) Batch mit dem Thema zu tun hat, kann ich beim besten Willen nicht erkennen ...
Grüße
bastla
Hallo waldgnarf!
Der Sinn des Schalters "/g:" bei "findstr" ist, dass Du die von Dir skizzierte Folge einzelner Filtervorgänge zusammenfassen kannst, indem Du eben in der nach "/g:" angegebenen Datei alle Kriterien zeilenweise anführst.
Sogar, wenn Du diese Datei nicht "mitschleppen" willst, sondern sie aus dem Batch heraus mit einer Folge von "echo"-Befehlen erzeugst, ist mE die dann nur einmalig erforderliche Verwendung von "findstr" und die Ausgabe in nur eine Ergebnisdatei vor allem weniger fehleranfällig ...
Grüße
bastla
Der Sinn des Schalters "/g:" bei "findstr" ist, dass Du die von Dir skizzierte Folge einzelner Filtervorgänge zusammenfassen kannst, indem Du eben in der nach "/g:" angegebenen Datei alle Kriterien zeilenweise anführst.
Sogar, wenn Du diese Datei nicht "mitschleppen" willst, sondern sie aus dem Batch heraus mit einer Folge von "echo"-Befehlen erzeugst, ist mE die dann nur einmalig erforderliche Verwendung von "findstr" und die Ausgabe in nur eine Ergebnisdatei vor allem weniger fehleranfällig ...
Grüße
bastla