Mit Batch bestimmte Teile einer Textdatei ändern

Begonnen von J.C., 24. März 2008, 12:12:59 Uhr

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

J.C.

24. März 2008, 12:12:59 Uhr Letzte Bearbeitung: 24. März 2008, 12:15:53 Uhr von J.C.
Hallo, ich habe folgendes Problem:

in einer Datei hallo.txt steht:
Zitieren
dies ist nur
ein kleines
beispiel meines Problems
blabla

Ich möchte nun einen bestimmten Teil durch etwas anderes ersetzen und alles als neu.txt speichern. Ich bin aber noch nicht sehr weit gekommen:
Mit
Zitieren
For /f "delims=*" %%i in (c:\Hallo.txt) Do echo %%i>>c:\neu.txt
wird die Textdatei schon einmal zeilenweise verarbeitet und kopiert, leider aber nur von jeder Zeile das erste Token (?). Mit "delims=*" kann ich das umgehen, ist aber wohl nicht die elegante Art und Weise und könnte noch Probleme machen.
Irgendwie muss das auch mit "Tokens=" gehen?.

Doch nun zur eigendlichen Frage:
Wie kann ich während der zeilenweisen Abarbeitung abfragen, ob eine Zeile "Problems" enthält und dieses durch "genialen Plans zur Weltherrschaft" ersetzen?

Die Ausgabe soll dann so aussehen:
Zitieren
dies ist nur
ein kleines
beispiel meines genialen Plans zur Weltherrschaft
blabla

Falls Ihr euch fragt was ich damit vorhabe: Ich möchte die Aufnahme von DVB Streams automatisieren. Durch den start einer Batch-Datei wird die aufgenommene *.ts gespilttet, auf Werbung analysiert und Schnittmarken gesetzt. Diese schau ich mir kurz an, führe ggf. Änderungen durch und lasse dann weiter automatisch encodieren und muxxen. Und dazu muss ich einzelne Passagen in txt Dateien an die jeweilige Aufnahme anpassen...







C2D 6420 // 3,2Ghz @Nexxxos XP
Gigabyte  P35 DS3P
4096 MB DDR-800 CL4 A-Data Vitesta Ex.
Sapphire HD4890 Vapor-X
60 GB OCZ Vertex
80 GB WD Caviar SE
    
Enermax Liberty 400W
Black ICE Stealth GT360 @ SilenX
                                                      





AMD X2 240 @ Shuriken
Asrock M3A785GMH
2048 MB MDT DDR-800
SkyStar 2HD
Cinergy DT USB XS Diversity
WD15EADS
Seasonic S12II 330W
OrigenAE S10V

J.C.

hm.. hab inzwischen rausgefunden...: http://www.supportnet.de/fresh/2007/1/id1481757.asp

klappt auch alles bestens.
Eine regelmäßig startende Batch-Datei prüft das Inputverzeichnis auf neue *.ts Dateien. Ist etwas vorhanden und die CPU im Leerlauf, wird die Aufnahme ohne weiteres Zutun demuxed und auf Werbung gescannt.

Ist der Prozess abgeschlossen wird in einem Ordner für jeden gescannten und demuxxed Flim eine Verknüpfung angelegt.
Damit starte ich das Schnittprogramm mit bereits fertiggesetzten Schnittmarken  (Werbung finden klappt bei Seitenverhältniswechseln oder DolbdyDigital sehr gut), kann diese dann leicht kontrollieren und ändern ohne dabei den ganzen Film zu sehen. Die Änderungen speichere ich nur ab ohne auf den Schnittvorgang zu warten und guck mir die nächste Schnittliste an.

Beim der nächsten Kontrolle auf anstehende Aufgaben durch o.g. Batch-Datei werden bereits kontrollierte Schnittlisten erkannt und der Schnitt ausgeführt.
Die Werbe-bereinigten Dateien werden danach automatisch reencodet und gemuxxed (ok, der Teil fehlt noch. Der Film muss noch per Hand in z.b. megui gelanden werden, profil auswählen fertig)

Aktuell werde das ganze neu, etwas sauberer und universeller coden, der Überblick ist doch verloren geganen. Wenn ich fertig stell ich das gerne hier zur Verfügung!







C2D 6420 // 3,2Ghz @Nexxxos XP
Gigabyte  P35 DS3P
4096 MB DDR-800 CL4 A-Data Vitesta Ex.
Sapphire HD4890 Vapor-X
60 GB OCZ Vertex
80 GB WD Caviar SE
    
Enermax Liberty 400W
Black ICE Stealth GT360 @ SilenX
                                                      





AMD X2 240 @ Shuriken
Asrock M3A785GMH
2048 MB MDT DDR-800
SkyStar 2HD
Cinergy DT USB XS Diversity
WD15EADS
Seasonic S12II 330W
OrigenAE S10V

theOne

hi, mein problem ist folgendes

ich muss eine batch erstellen die eine datei findent und sie löscht.
den pfad der datei und den namen kennen ich, das problem lieg darin das die datei in
einem ordern liegt der bei jeden user anders heißt.

C:\Dokumente und Einstellungen\%username%\Anwendungsdaten\Mozilla\Firefox\Profiles\m48ww4st.default\pref.js
das ist die datei und den ordner möchte ich nicht löschen.

wäre nett wenns leicht verständlich wäre.

danke vielmals