it-it-self
Goto Top

Per batch datei txt finden und löschen

Hallo liebe Administratoren Gemeinde,

Ich habe für den anfang gleich eine Frage:

Ich habe ein Skript geschieben, wo er die Datei TESCHT.txt sucht und danach "erfolgreich" hineinschreibt.

@echo off
for /f "delims=" %%a IN ('dir /b /s TESCHT.txt') do echo "erfolgreich" >> %%a

Das Funktioniert wunderbar.

Nun möchte ich mit einem ähnlichen skript alle files durch suchen mit LOESCHEN.txt und diese löschen.
Das file LOESCHEN.txt befindet sich in duzenden von Userverzeichnisen.

Bei folgendem Skript sagt mir cmd nur: Das System kann den angegebenen Pfad nicht finden.

@echo off
for /f "delims=" %%a IN ('dir /b /s LOESCHEN.txt') do del %%a

Wie kann ich ein solches Skript schreibem?

Herzlichen Dank für eure Hilfe!

Content-Key: 146115

Url: https://administrator.de/contentid/146115

Printed on: April 24, 2024 at 14:04 o'clock

Mitglied: 60730
60730 Jul 02, 2010 at 10:41:30 (UTC)
Goto Top
Zitat von @IT-it-self:
Hallo liebe Administratoren Gemeinde,

Ich habe für den anfang gleich eine Frage:

Ich habe ein Skript geschieben, wo er die Datei TESCHT.txt sucht und danach "erfolgreich" hineinschreibt.

moin, willkommen und "sorry" vorweg...

Batche, die nicht so laufen, wie man will haben am besten kein führendes @echo off"
Und wenn der Pfad ein Leerzeichen hat, dann - und daher hast Du das Script ja auch mit dem Delims= versorgt - findet der das natürlich nur, wenn es
zwischen zwei " steht.

for /f "delims=" %%a in ('dir /b /s TESCHT.txt') do del "%%a"  

Gruß

edit @3220 -hmmm.... setzen "6"
btw: zitiere mich mal - um den da auch nutzen zu können <code> </code> - den hab ich auch "geklaut" face-wink
Edit² dann leg dich wieder hin, da macht das 6 ja eh mehr Spass.... face-wink
Mitglied: 77559
77559 Jul 02, 2010 at 10:43:24 (UTC)
Goto Top
Hallo und willkommen im Forum It-it-self.

Die Batchdatei startet im aktuellen Verzeichnis und findet dort ggfs nichts.
Du musst ggfs einen definierten Startpfad mit üübergeben oder vorher dorthin wechseln.
Die Fehlermeldung lässt sich wenn wirklich nichts gefunden wird mit 2^>NUL unterdrücken.

Code den du postest solltest du zur besseren Les-/Referenzierbarkeit in < code> und < /code>-Tags einfassen
@echo off
for /f "delims=" %%a IN ('dir /b /s "%USERPROFILE%\TESCHT.txt" 2^>NUL') do Echo Del "%%a"  
Das Del ist hier mit einem Echo entschärft

Gruß
LotPings

Edit war zu schnelll mit Fehlern gepostet. face-wink
Timos Anführungszeichen ergänzt.
@timmo, ja du hast ja recht - ich finds grad nicht - ausserdem ist es sowieso zu heiss -
Member: IT-it-self
IT-it-self Jul 02, 2010 at 10:46:06 (UTC)
Goto Top
wow, danke schön für die schnell antwort =)

werde mir das merken mit dem @echo off (habs im all dem Ärger gar nicht gemerkt ;) )