online 1
gast (50)

/ Forum / Anwendungen(Java,C++...)

Anwendungen(Java,C++...)Anwendungen(Java,C++...)

Fragevon intery vom 01.02.2022, 11:19 Options

Mit Batch-Datei bestimmet Textstelle ändern

Hallo ich habe einen Batch der Zeilenweise Wörter in einer txt Datei ändert. Problem ist aber, das es bei einer gewissen Göße nicht mehr funktioniert.



SETLOCAL enabledelayedexpansion


SET "quell_datei=quell.txt"
SET "ziel_datei=ziel.txt" 
)

SET "suchen_nach=161057"
SET "ersetzen_durch=xxxxxxxx"


REM Quell-Datei zeilenweise auslesen 
REM und in Variable "zeile" schreiben
FOR /f "delims=" %%i IN ('FINDSTR . "%quell_datei%"') DO (  
SET zeile=%%i& CALL :ersetzen !zeile!
)
GOTO :eof

:ersetzen
REM innerhalb der Variable "zeile"
REM den Inhalt der Variable "suchen_nach" suchen
REM und diese durch den Inhalt der Variable "ersetzen_durch" ersetzen   
SET zeile=!zeile:%suchen_nach%=%ersetzen_durch%!

REM Inhalt der Variable "zeile" in die Ausgabedatei schreiben
IF [!zeile!] EQU [] (ECHO.>>%ziel_datei%) ELSE (ECHO !zeile!>>%ziel_datei%)
GOTO :eof

:eof


Textdatei: der gesamte Text ist in einer Zeile.

Diese Textdatei funktioniert:
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx161057xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx161057xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx161057xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx161057xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx


Wenn der Text ca. 10 mal so lang ist oder länger geht das nicht mehr mit dem Batch.


Problem ist das die Zeile dann zu lang ist.
Wie komme ich nun um das Problem im Batch herum?

Ich bedanke mich schon mal im voraus, für alle die versuchen mir weiter zu helfen.


Antwort schreiben

Antwort 1 von tallyHO vom 02.02.2022, 00:58 Options

öhm ... wie auch immer:

ich empfehle dir Super SED

https://launchpad.net/ssed

LG

Antwort 2 von Intery vom 02.02.2022, 08:31 Options

Ja über das SED hatte ich auch schon vor der Erstellung des Batch gelesen. Ich war aber froh, das ich den auch ohne ein extra Programm hin bekommen habe.

Gibt es nicht die Möglichkeit um ein extra Programm herum zu kommen?

Antwort 3 von kicia vom 05.03.2022, 14:17 Options

ich empfehle wie immer JScript in verbindung mit WSH:
http://www.supportnet.de/faqsthread/2243647

Antwort 4 von Intery vom 05.03.2022, 14:29 Options

Danke,

d.h. ich den Javascript in eine Datei namens test.js machen und starte die dann? Aber da fragt mich Windows mit welchem Programm ich es öffnen möchte.

Antwort 5 von kicia vom 05.03.2022, 14:41 Options

Das wundert mich ein bischen.
Welche Windows Verison hast Du?

Das Programm, mit der die JS Datei gestartet werden soll, ist
C:/WINDOWS/system32/wscript.exe

( Ich empfehle (wenn Du weisst wie), die Datei standardmässig mit einem Text-Editor zu öffnen.
Dann sollte mit rechtsklick / öffnen die Datei gestartet werden, oder das muss eben auch manuell eingestellt werden. )

Antwort 6 von intery vom 05.03.2022, 14:48 Options

Ah jetzt geht es! Die Endung muss dann *.vbs lauten.
Ich habe übrigens Windows 7 Professional.

Antwort 7 von kicia vom 05.03.2022, 15:01 Options

- *.js wenn Du JScript (equivalent JavaScript) verwenden möchtest
- *.vbs wenn Du VBScript (VisualBasicScript) verwenden möchtest

.js geht in Windows 98, XP, 2000, Vista
Windows 7 Professional hab ich noch nicht aus der nähe gesehen.

Bei VBS kann ich weniger gut helfen.
Für ein kurzes Projekt habe ich keine Einwände gegen VBS, aber wenn Du Dich langfristig mit Windows scripting und grösseren Projekten beschäftigen willst,
empfehle ich dringend, JS zu verwenden.

Ich habe jahrelang VBS verwendet, nur weil ich mal damit angefangen hatte, und so viele Codeteile schon fertig hatte.
Und ich habe mich sehr darüber geärgert, weil JS wirklich bequemer und sauberer ist.
Irgendwann habe ich dann mit viel Aufwand alles umgestellt.

Einziger Vorteil, den ich bei VBS sehe ist, daß man in gewissem Rahmen Binärdaten lesen kann. Aber auch nicht wirklich bequem.

In JS kann ich Dir ein loadFile und saveFile senden, wenn Du willst.

Ähnliche Themen

IrfanView - Farben ändern eines Bildes
ana  04.07.2008 - 2619 Hits -

Batch Datei (Backup)
janosch1711  29.08.2008 - 40 Hits - 8 Antworten

PHP-Skript per Batch-Datei ausführen
Computerfreaki  20.01.2009 - 369 Hits - 8 Antworten

Internet Login via Batch-Datei
amazZzing  31.03.2009 - 1748 Hits - 23 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Thu Jan 8 21:07:44 2026