Batch zum Zeilen löschen
Hi Folks,
ich bekomme es mal wieder nicht hin. 😢
Mir fehlt einfach das Verständnis, wie ich anfangen soll. Für die Fachleute hier ist das wahrscheinlich nur ein Zweizeiler.
Ich brauche ein Batch die aus einer .ini die kompletten Zeilen mit der Nummer 20100 am Anfang jeder Zeile löscht. Es muß eine batch sein und darf kein Powershell sein.
Wie gesagt ich habe null Plan und langsam ist mir das auch etwas peinlich.
Danke im voraus.
🖖
ich bekomme es mal wieder nicht hin. 😢
Mir fehlt einfach das Verständnis, wie ich anfangen soll. Für die Fachleute hier ist das wahrscheinlich nur ein Zweizeiler.
Ich brauche ein Batch die aus einer .ini die kompletten Zeilen mit der Nummer 20100 am Anfang jeder Zeile löscht. Es muß eine batch sein und darf kein Powershell sein.
Wie gesagt ich habe null Plan und langsam ist mir das auch etwas peinlich.
Danke im voraus.
🖖
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 604642
Url: https://administrator.de/contentid/604642
Ausgedruckt am: 27.11.2024 um 03:11 Uhr
19 Kommentare
Neuester Kommentar
Moin,
für alle, die es doch mit der PS machen wollen:
https://devblogs.microsoft.com/scripting/use-powershell-to-work-with-any ...
Liebe Grüße
Erik
für alle, die es doch mit der PS machen wollen:
https://devblogs.microsoft.com/scripting/use-powershell-to-work-with-any ...
Liebe Grüße
Erik
wahrscheinlich nur ein Zweizeiler.
Nee, das wär zu viel des Guten findstr /blvc:"20100" datei.ini >datei_neu.ini
Hätte man ja eigentlich auch gleich in den ersten Post schreiben können ... aber et trröppelt halt mal wieder so rein, ist ja nix neues hier.
Bidde, auch das ist n' Einzeiler
Bidde, auch das ist n' Einzeiler
for %%a in ("d:\Ordner\*.ini") do findstr /blvc:"20100" "%%a" >"%%~na_neu.ini"
Moin,
Dann hätten wir einen Vierzeiler:
hth
Erik
Zitat von @miniversum:
na du kannst ja dann die alte Datei löschen (oder umbenennen) und der neuen Datei den Namen der original Datei geben ...
na du kannst ja dann die alte Datei löschen (oder umbenennen) und der neuen Datei den Namen der original Datei geben ...
Dann hätten wir einen Vierzeiler:
for %%a in ("d:\Ordner\*.ini") do (
findstr /blvc:"20100" "%%a" >"%%~na_neu.ini"
del /f "%%a"
rename "%%~na_neu.ini" "%%a"
)
hth
Erik
Zitat von @Dr.Bit:
Ist ein Fünfzeiler Aber dennoch sehr brauchbar. Hab da noch ein ähnliches Problem das ich damit fast erschlagen könnte. Danke.
Ist ein Fünfzeiler Aber dennoch sehr brauchbar. Hab da noch ein ähnliches Problem das ich damit fast erschlagen könnte. Danke.
Mit Sed ist es ein Einzeiler
for %%a in ("d:\Ordner\*.ini") do sed.exe -e "/^20100/d" -i %%a
llap
lks
Nein, aber ein kleines Progrämmchen, das schnell geladen und eingerichtet ist (keine Installation notwendig). Spart viel Zeit.
lks
PS: wenn man WSL installiert hat, ist es ein Windows-Bordmittel
Oder man nimmt gleich die Powershell die ist immer mit an Bord.
Gönnt Batch langsam seinen wohl verdienten Ruhestand...
ls 'd:\ordner\LINIE*.ini' -File | %{(gc $_.Fullname) | ?{$_ -notmatch '^20100'} | sc $_.Fullname}
Gönnt Batch langsam seinen wohl verdienten Ruhestand...
Zitat von @Dr.Bit:
Dann kann ich Datei auch gleich von Hand editieren, wenn ich sie sowieso anfassen muß. Das Script läuft übrigens automatisiert. Der Unterstrich wird bei der Auswertung scheinbar ignoriert. Also alles Gut.
Ist ein Fünfzeiler Aber dennoch sehr brauchbar. Hab da noch ein ähnliches Problem das ich damit fast erschlagen könnte. Danke.
🖖
Zitat von @miniversum:
Hallo,
na du kannst ja dann die alte Datei löschen (oder umbenennen) und der neuen Datei den Namen der original Datei geben ...
Gruß
...
Hallo,
na du kannst ja dann die alte Datei löschen (oder umbenennen) und der neuen Datei den Namen der original Datei geben ...
Gruß
...
Dann kann ich Datei auch gleich von Hand editieren, wenn ich sie sowieso anfassen muß. Das Script läuft übrigens automatisiert. Der Unterstrich wird bei der Auswertung scheinbar ignoriert. Also alles Gut.
Zitat von @erikro:
Moin,
Dann hätten wir einen Vierzeiler:
hth
Erik
Moin,
Zitat von @miniversum:
na du kannst ja dann die alte Datei löschen (oder umbenennen) und der neuen Datei den Namen der original Datei geben ...
na du kannst ja dann die alte Datei löschen (oder umbenennen) und der neuen Datei den Namen der original Datei geben ...
Dann hätten wir einen Vierzeiler:
>> for %%a in ("d:\Ordner\*.ini") do (
>> findstr /blvc:"20100" "%%a" >"%%~na_neu.ini"
>> del /f "%%a"
>> rename "%%~na_neu.ini" "%%a"
>> )
>>
hth
Erik
Ist ein Fünfzeiler Aber dennoch sehr brauchbar. Hab da noch ein ähnliches Problem das ich damit fast erschlagen könnte. Danke.
🖖
Na wir wollen mal nicht so kleinlich sein. Die initiale Aufgabe geht ja in nem Einzeiler. Aber wenn es sein muss dann eben so:
for %%a in ("d:\Ordner\*.ini") do findstr /blvc:"20100" "%%a" >"%%~na_neu.ini" && del /f "%%a" && rename "%%~na_neu.ini" "%%a"
Dann hast du sogar noch da sErrorhandling mit drin Gruß
...
Auf XP nat. nur nach Nachrüstung des MGMT-Frameworks.
Ist ein Fünfzeiler Aber dennoch sehr brauchbar. Hab da noch ein ähnliches Problem das ich damit fast erschlagen könnte. Danke.
Naja, eine einzelne Klammer in der Zeile, zähle ich nicht als Zeile. Gerne