Hot News aus dem CAD.de-Newsletter:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Grundsätzliches
  Wörter in txt-Datei per batch suchen und ersetzen

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:   Wörter in txt-Datei per batch suchen und ersetzen (3597 mal gelesen)
EWcadmin
Ehrenmitglied V.I.P. h.c.
Konstrukteur (Dipl.-Ing. Maschinenbau), CAD-Admin.



Sehen Sie sich das Profil von EWcadmin an!   Senden Sie eine Private Message an EWcadmin  Schreiben Sie einen Gästebucheintrag für EWcadmin

Beiträge: 2936
Registriert: 27.10.2005

erstellt am: 02. Mai. 2017 12:31    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Zusammen,

ich brauche Eure Hilfe bei folgendem Problem:

Ich habe eine Text-Datei, welche immer den gleichen Namen hat, z.B. versuch.txt, aber je nach Situation unterschiedliche Inhalte.
Nun möchte ich eine batch-Datei starten, welche in der versuch.txt nach einem bestimmten Wort bzw. Zeichenfolge (z.B. MAT_INHALT) sucht und diese dann mit einer festgelegten anderen Zeichenfolge (z.B. CAD_MAT_WERT) ersetzt. Alle anderen Texte sollen davon unberührt bleiben. Die zu ersetzende Zeichenfolge kann auch mal mitten in einer Zeile mit anderem Text zusammen stehen.
Danach soll die versuch.txt gespeichert werden.

Ich habe dazu folgenden Beitrag hier schon gefunden:
http://ww3.cad.de/foren/ubb/Forum112/HTML/000130.shtml#000005

Allerdings komme ich damit nicht weiter. Da wird anscheinend immer eine ganze Zeile ersetzt und das möchte ich ja nicht.


Beipsiel (stark verkürzt):

Inhalt von versuch.txt vor dem Ausführen der batch:

/*** Werte sind im Material einzutragen
MAT_INHALT="Stahl SJ235"
OBERFLAECHE="verzinkt"

Inhalt von versuch.txt nach dem Ausführen der batch:

/*** Werte sind im Material einzutragen
CAD_MAT_WERT="Stahl SJ235"
OBERFLAECHE="verzinkt"

------------------
Grüße aus OWL, Thomas

ProE macht Spaß - viel ProE macht viel Spaß !  (Zitat, frei nach meinem ProE-Beibringer)

Neu auf CAD.de? Diese Infos werden Dir den Einstieg erleichtern: Willkommen auf CAD.de
Auch sehr hilfreich für ProE-/Creo-Neulinge: ProE konfigurieren

[Diese Nachricht wurde von EWcadmin am 02. Mai. 2017 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

highway45
Ehrenmitglied V.I.P. h.c.
Bastler mit Diplom



Sehen Sie sich das Profil von highway45 an!   Senden Sie eine Private Message an highway45  Schreiben Sie einen Gästebucheintrag für highway45

Beiträge: 6145
Registriert: 14.12.2004

don't read this

erstellt am: 02. Mai. 2017 13:06    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für EWcadmin 10 Unities + Antwort hilfreich

Theoretisch geht das auch mit Excel oder Word.

Ich mache solche Dinge immer mit dem Texteditor Notepad++.
Es können auch mehrere Dokumente gleichzeitig geöffnet und geändert werden.

------------------

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

EWcadmin
Ehrenmitglied V.I.P. h.c.
Konstrukteur (Dipl.-Ing. Maschinenbau), CAD-Admin.



Sehen Sie sich das Profil von EWcadmin an!   Senden Sie eine Private Message an EWcadmin  Schreiben Sie einen Gästebucheintrag für EWcadmin

Beiträge: 2936
Registriert: 27.10.2005

erstellt am: 02. Mai. 2017 13:11    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hi Matthias,

wenn ich das von Hand mache möchte, nehme ich auch den notepad++

Ich möchte das aber quasi automatisch ablaufen lassen. Ziel ist es, diese batch später von Pro/ENGINEER bzw. Creo per mapkey aufzurufen.

------------------
Grüße aus OWL, Thomas

ProE macht Spaß - viel ProE macht viel Spaß !  (Zitat, frei nach meinem ProE-Beibringer)

Neu auf CAD.de? Diese Infos werden Dir den Einstieg erleichtern: Willkommen auf CAD.de
Auch sehr hilfreich für ProE-/Creo-Neulinge: ProE konfigurieren

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Bernd P
Ehrenmitglied V.I.P. h.c.
cook-general



Sehen Sie sich das Profil von Bernd P an!   Senden Sie eine Private Message an Bernd P  Schreiben Sie einen Gästebucheintrag für Bernd P

Beiträge: 3056
Registriert: 07.06.2001

AMD A8-3870, W10-64bit, 16GB RAM, HP DJ T2300mfp, Maus:G700s, Sub:Infrastructure Design Suite, Excel 2013,

erstellt am: 02. Mai. 2017 14:01    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für EWcadmin 10 Unities + Antwort hilfreich

Servus, ohne Zusatzprogram wird es nicht gehen, ich verwende dazu fnr.exe

------------------
<----- Bitte Systeminfo eintragen, warum siehst du hier. Schöne Grüsse aus der Steiermark  Bernd P.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

EWcadmin
Ehrenmitglied V.I.P. h.c.
Konstrukteur (Dipl.-Ing. Maschinenbau), CAD-Admin.



Sehen Sie sich das Profil von EWcadmin an!   Senden Sie eine Private Message an EWcadmin  Schreiben Sie einen Gästebucheintrag für EWcadmin

Beiträge: 2936
Registriert: 27.10.2005

erstellt am: 02. Mai. 2017 16:18    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Ich habe es ohne Zusatzprogramm doch noch hinbekommen. Allerdings ersetzt das batch dann wirklich jede Zeichenfolge, also auch dann, wenn sie mitten in einem anderen Wort vorkommt.

Beispiel:
Gesucht wird UMFANG
Soll ersetzt werden durch PERIMETER

Der Text
/*** Der Aussenumfang ist zu ermitteln:
UMFANG=LENGTH:FID_AUSSENUMFANG
sieht anschließend so aus:
/*** Der AussenPERIMETER ist zu ermitteln:
PERIMETER=LENGTH:FID_AUSSENPERIMETER

Eigentlich sollte nur die Zeichenfolge UMFANG vor dem Gleichheitszeichen ersetzt werden. Das ist bei mir jetzt nicht so schlimm, ich lasse das einfach weg. In den drei anderen Fällen klappt die Ersetzung ja problemlos, da ich da nicht diese Gleichheit der Zeichenfolgen habe. Aber eine Lösung des Problems wäre schon schön ... schließlich hat man ja ein klein wenig Ehrgeiz, das alles funktioniert 

------------------
Grüße aus OWL, Thomas

ProE macht Spaß - viel ProE macht viel Spaß !  (Zitat, frei nach meinem ProE-Beibringer)

Neu auf CAD.de? Diese Infos werden Dir den Einstieg erleichtern: Willkommen auf CAD.de
Auch sehr hilfreich für ProE-/Creo-Neulinge: ProE konfigurieren

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Castell
Mitglied
Technical Advisor Engineering


Sehen Sie sich das Profil von Castell an!   Senden Sie eine Private Message an Castell  Schreiben Sie einen Gästebucheintrag für Castell

Beiträge: 302
Registriert: 22.05.2000

Das Wissen der Menschen
gehört der Menschheit.<P>SAP PLM, Notepad++, Windows 7

erstellt am: 02. Mai. 2017 17:50    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für EWcadmin 10 Unities + Antwort hilfreich


texttausch.zip

 
Das in einer DOS Box zu realisieren ohne Zusatzprogramm geht meines erachtens nicht.
Ich selbst denggel mir immer eine kleine ".exe" mit Hilfe von TCL/TK. Das geht natürlich auch mit jeder anderen Sprache.

Versuch das Angehängte mal.

Syntax:
texttausch.exe versuch.txt MAT_INHALT CAD_MAT_WERT


PS: Und schon wird man im Forum eines Besseren belehrt. Vielen Dank für die Folge-Posts

------------------
Viele Grüsse aus dem Schwabenländle

Massimo Castell

[Diese Nachricht wurde von Castell am 03. Mai. 2017 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Thomas Harmening
Ehrenmitglied V.I.P. h.c.
Arbeiter ツ



Sehen Sie sich das Profil von Thomas Harmening an!   Senden Sie eine Private Message an Thomas Harmening  Schreiben Sie einen Gästebucheintrag für Thomas Harmening

Beiträge: 2892
Registriert: 06.07.2001

Hier könnte eine Sysinfo stehen ;-)

erstellt am: 02. Mai. 2017 19:06    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für EWcadmin 10 Unities + Antwort hilfreich

unten stehender Code in txt-Datei und Endung zu vbs ändern.
per Drag and Drop auf die vbs wird der Inhalt geändert.

bei mehreren Verschiedenen Ersetzungen Step 1 vervielfachen.

Code:

strAppName = "RegExp Replace"

Set objFSO = CreateObject("Scripting.FileSystemObject")

For Each strArgument In WScript.Arguments


        Set objFile = objFSO.GetFile(strArgument)
        intFileSize = objFile.Size
        Set objFile = objFile.OpenAsTextStream()
        strFileContent = objFile.Read(intFileSize)
        objFile.Close

' *** Vorbereitung ***
Set objRegExp = New RegExp ' Objekt für Verwendung von Regulären Ausdrücken erstellen
objRegExp.Global = True ' True: In der gesamten Zeichenkette suchen
objRegExp.IgnoreCase = True ' True: Groß/Kleinschreibung ignorieren

'Step 1
objRegExp.Pattern = "MAT_INHALT"   'X:
strFileContent = objRegExp.Replace(strFileContent,"CAD_MAT_INHALT")

Set objFile = objFSO.OpenTextFile(strArgument, 2)
        objFile.Write strFileContent
        objFile.Close

        MsgBox "Ersetzungen durchgenommen für  " & strArgument & "!", vbOKOnly, strAppName
Next


[Diese Nachricht wurde von Thomas Harmening am 02. Mai. 2017 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

highway45
Ehrenmitglied V.I.P. h.c.
Bastler mit Diplom



Sehen Sie sich das Profil von highway45 an!   Senden Sie eine Private Message an highway45  Schreiben Sie einen Gästebucheintrag für highway45

Beiträge: 6145
Registriert: 14.12.2004

don't read this

erstellt am: 02. Mai. 2017 19:08    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für EWcadmin 10 Unities + Antwort hilfreich

Zitat:
Eigentlich sollte nur die Zeichenfolge UMFANG vor dem Gleichheitszeichen ersetzt werden.

Dann solltest du nicht UMFANG durch PERIMETER sondern UMFANG= durch PERIMETER= ersetzen.
Kann aber sein, daß es mit Sonderzeichen nicht funktioniert.

------------------

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Castell
Mitglied
Technical Advisor Engineering


Sehen Sie sich das Profil von Castell an!   Senden Sie eine Private Message an Castell  Schreiben Sie einen Gästebucheintrag für Castell

Beiträge: 302
Registriert: 22.05.2000

Das Wissen der Menschen
gehört der Menschheit.<P>SAP PLM, Notepad++, Windows 7

erstellt am: 02. Mai. 2017 19:14    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für EWcadmin 10 Unities + Antwort hilfreich

Da fällt mir auf, dass mein Programm den gleichen Fehler wie deine Batch haben könnte.
Also vorher testen.

------------------
Viele Grüsse aus dem Schwabenländle

Massimo Castell

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

fritsrol
Mitglied
CAD-Systemingenieur


Sehen Sie sich das Profil von fritsrol an!   Senden Sie eine Private Message an fritsrol  Schreiben Sie einen Gästebucheintrag für fritsrol

Beiträge: 140
Registriert: 11.12.2002

Windows 10 64
Office 2016
Eplan P8 2.7 HF2
VS 2015
Medusa 2000i2

erstellt am: 03. Mai. 2017 07:01    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für EWcadmin 10 Unities + Antwort hilfreich

Hallo,

hier habe ich noch einen Vorschlag für DOS Puristen:

Rem leere Hilfsdatei erzeugen
echo. > versuch2.txt

for /F "tokens=*" %%a in (versuch.txt) do @call :dodir %%a

type versuch2.txt

ren versuch2.txt versuch.txt

goto :eof


REM Sub-Programm zum abarbeiten der gefundenen Zeilen
:dodir
echo.
echo ************************************
echo **** found %1 ****

set orgstr=%1

REM *** Ersetzt in der aktuellen Zeile MAT_INHALT mit CAD_MAT_WERT.
REM *** Problem ist aber ein '=' Zeichen

set tmpstr=%orgstr:MAT_INHALT=CAD_MAT_WERT%

echo %tmpstr% >> versuch2.txt

echo.
goto :eof


Gruß
Roland

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

EWcadmin
Ehrenmitglied V.I.P. h.c.
Konstrukteur (Dipl.-Ing. Maschinenbau), CAD-Admin.



Sehen Sie sich das Profil von EWcadmin an!   Senden Sie eine Private Message an EWcadmin  Schreiben Sie einen Gästebucheintrag für EWcadmin

Beiträge: 2936
Registriert: 27.10.2005

erstellt am: 03. Mai. 2017 08:36    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Zusammen,

erst mal vielen Dank für Eure Vorschläge. Ich freue mich doch immer wieder sehr, wie gut einem hier im Forum geholfen.

Leider habe ich festgestellt, das die Einträge in den ursprünglichen Inhalten nicht immer gleich sind.
Es gibt also folgende Schreibweisen, wobei der Eintrag nach den Zeichen /*** nur als Kommentar verarbeitet werden und daher nicht so relevant sind:

/*** Festlegung Aussenumfang
UMFANG = LENGTH:FID_AUSSENUMFANG

/*** Berechnung vom Aussenumfang:
UMFANG=LENGTH:FID_AUSSENUMFANG

/*** Der Aussenumfang ist zu ermitteln:
UMFANG=LENGTH:FID_AUSSENUMFANG

Das macht die Sache jetzt nicht gerade einfacher.

Das VBS-Script ist eine gute Idee und ich werde es testen. Allerdings sollte es in meinem Anwendungsfall nicht per Drag&Drop der Textdatei ausgeführt werden, sondern es wird per Aufruf aus dem CAD-Programm gestartet und nimmt sich dann die Textdatei selbst vor. Ich versuche mal, es mit meinen nicht vorhandenen bzw. äußerst spärlichen VBS-Kenntnissen hinzubekommen.

Das batch von Roland muss ich mir noch anschauen und ausprobieren.

------------------
Grüße aus OWL, Thomas

ProE macht Spaß - viel ProE macht viel Spaß !  (Zitat, frei nach meinem ProE-Beibringer)

Neu auf CAD.de? Diese Infos werden Dir den Einstieg erleichtern: Willkommen auf CAD.de
Auch sehr hilfreich für ProE-/Creo-Neulinge: ProE konfigurieren

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

EWcadmin
Ehrenmitglied V.I.P. h.c.
Konstrukteur (Dipl.-Ing. Maschinenbau), CAD-Admin.



Sehen Sie sich das Profil von EWcadmin an!   Senden Sie eine Private Message an EWcadmin  Schreiben Sie einen Gästebucheintrag für EWcadmin

Beiträge: 2936
Registriert: 27.10.2005

Creo 4.0 Parametric M070
SAP-PLM
HP Z4 G4 mit 32GB RAM
NVIDIA Quadro P4000
Windows 10 Enterprise

erstellt am: 03. Mai. 2017 08:44    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Mir fällt gerade noch ein, das die zu ersetzende Zeichenfolge UMFANG immer am Anfang einer Zeile steht. Das ist bei den anderen drei Zeichenfolgen, welche ebenfalls ersetzt werden sollen, nicht generell der Fall. Vielleicht lässt sich das ja irgendwie nutzen. Werde mich heute mal damit beschäftigen.

------------------
Grüße aus OWL, Thomas

ProE macht Spaß - viel ProE macht viel Spaß !  (Zitat, frei nach meinem ProE-Beibringer)

Neu auf CAD.de? Diese Infos werden Dir den Einstieg erleichtern: Willkommen auf CAD.de
Auch sehr hilfreich für ProE-/Creo-Neulinge: ProE konfigurieren

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Bernd P
Ehrenmitglied V.I.P. h.c.
cook-general



Sehen Sie sich das Profil von Bernd P an!   Senden Sie eine Private Message an Bernd P  Schreiben Sie einen Gästebucheintrag für Bernd P

Beiträge: 3056
Registriert: 07.06.2001

AMD A8-3870, W10-64bit, 16GB RAM, HP DJ T2300mfp, Maus:G700s, Sub:Infrastructure Design Suite, Excel 2013,

erstellt am: 03. Mai. 2017 08:59    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für EWcadmin 10 Unities + Antwort hilfreich

psssst....

------------------
<----- Bitte Systeminfo eintragen, warum siehst du hier. Schöne Grüsse aus der Steiermark  Bernd P.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

EWcadmin
Ehrenmitglied V.I.P. h.c.
Konstrukteur (Dipl.-Ing. Maschinenbau), CAD-Admin.



Sehen Sie sich das Profil von EWcadmin an!   Senden Sie eine Private Message an EWcadmin  Schreiben Sie einen Gästebucheintrag für EWcadmin

Beiträge: 2936
Registriert: 27.10.2005

erstellt am: 03. Mai. 2017 09:26    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Danke für den Hinweis, Bernd ;-) Muss erst mal schauen ob ich exe-Dateien von unbekannter Herkunft hier überhaupt starten darf bzw. kann.

Das batch von Roland funktioniert leider nicht. Es ersetzt zwar die entsprechende Zeichenfolge, aber es löscht auch in allen anderen Zeilen die Texte, die ja unverändert bleiben sollen.

------------------
Grüße aus OWL, Thomas

ProE macht Spaß - viel ProE macht viel Spaß !  (Zitat, frei nach meinem ProE-Beibringer)

Neu auf CAD.de? Diese Infos werden Dir den Einstieg erleichtern: Willkommen auf CAD.de
Auch sehr hilfreich für ProE-/Creo-Neulinge: ProE konfigurieren

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

fritsrol
Mitglied
CAD-Systemingenieur


Sehen Sie sich das Profil von fritsrol an!   Senden Sie eine Private Message an fritsrol  Schreiben Sie einen Gästebucheintrag für fritsrol

Beiträge: 140
Registriert: 11.12.2002

Windows 10 64
Office 2016
Eplan P8 2.7 HF2
VS 2015
Medusa 2000i2

erstellt am: 03. Mai. 2017 09:35    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für EWcadmin 10 Unities + Antwort hilfreich

Noch 1. Versuch

Tausche mal
echo %tmpstr% >> versuch2.txt

zu
if [%tmpstr%]==[] (%orgstr% >> versuch2.txt) else (%tmpstr% >> versuch2.txt)

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

EWcadmin
Ehrenmitglied V.I.P. h.c.
Konstrukteur (Dipl.-Ing. Maschinenbau), CAD-Admin.



Sehen Sie sich das Profil von EWcadmin an!   Senden Sie eine Private Message an EWcadmin  Schreiben Sie einen Gästebucheintrag für EWcadmin

Beiträge: 2936
Registriert: 27.10.2005

erstellt am: 03. Mai. 2017 10:04    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Leider auch ohne Erfolg .
Habe auch noch die Syntax verändert und ohne Erfolg getestet.

------------------
Grüße aus OWL, Thomas

ProE macht Spaß - viel ProE macht viel Spaß !  (Zitat, frei nach meinem ProE-Beibringer)

Neu auf CAD.de? Diese Infos werden Dir den Einstieg erleichtern: Willkommen auf CAD.de
Auch sehr hilfreich für ProE-/Creo-Neulinge: ProE konfigurieren

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Castell
Mitglied
Technical Advisor Engineering


Sehen Sie sich das Profil von Castell an!   Senden Sie eine Private Message an Castell  Schreiben Sie einen Gästebucheintrag für Castell

Beiträge: 302
Registriert: 22.05.2000

Das Wissen der Menschen
gehört der Menschheit.<P>SAP PLM, Notepad++, Windows 7

erstellt am: 03. Mai. 2017 10:58    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für EWcadmin 10 Unities + Antwort hilfreich


texttausch.zip

 
Hallo.

Ich denke, dass das Programm fnr.exe ist mächtig. Und wenn du schon keine fremden .exe einspielen darfst....

Egal, ich habe mein Skript angepasst. Jetzt ändert es nur wenn der Suchtext am Anfang steht. Und ich habe das Skript auch als Quelltext in das Zip abgelegt, damit eure Security reinschauen kann.

texttausch.exe [Dateiname] Suchtext Neuer_Text

texttausch.exe versuch.txt MAT_INHALT CAD_MAT_WERT

------------------
Viele Grüsse aus dem Schwabenländle

Massimo Castell

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

EWcadmin
Ehrenmitglied V.I.P. h.c.
Konstrukteur (Dipl.-Ing. Maschinenbau), CAD-Admin.



Sehen Sie sich das Profil von EWcadmin an!   Senden Sie eine Private Message an EWcadmin  Schreiben Sie einen Gästebucheintrag für EWcadmin

Beiträge: 2936
Registriert: 27.10.2005

erstellt am: 03. Mai. 2017 15:55    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Vielen Dank für das script. Leider darf ich die exe nicht verwenden.

Ich habe jetzt eine Lösung gefunden, die zwar nicht so elegant ist, aber durchaus ihren Zweck erfüllt.
Innerhalb der FOR-Schleife habe ich zwei IF-Bedingungen, in denen die ganze Zeile verglichen wird und bei Übereinstimmung dann auch die ganze Zeile ersetzt wird. Wie gesagt, für uns reicht das in diesem Fall aus.

hier die komplette FOR-Schleife als Auszug aus meiner batch:

Code:

  for /f "usebackq delims=" %%i in ("%FILE%") do (
  set "LINE=%%i"
  set LINE=!LINE:%SEARCH1%=%REPLACE1%!
  set LINE=!LINE:%SEARCH2%=%REPLACE2%!
  set LINE=!LINE:%SEARCH3%=%REPLACE3%!
  if "%%i"=="UMFANG=LENGTH:FID_AUSSENUMFANG" SET "LINE=CAD_PERIMETER=LENGTH:FID_AUSSENUMFANG"
  if "%%i"=="UMFANG = LENGTH:FID_AUSSENUMFANG" SET "LINE=CAD_PERIMETER=LENGTH:FID_AUSSENUMFANG"
  echo !LINE!>>"%FILE_TMP%"
  )


Die ersten drei strings werden automatisch ersetzt und das "Problemkind UMFANG" nur als ganze Zeile.

Vielen Dank Euch allen für die Anregungen und Tipps.

------------------
Grüße aus OWL, Thomas

ProE macht Spaß - viel ProE macht viel Spaß !  (Zitat, frei nach meinem ProE-Beibringer)

Neu auf CAD.de? Diese Infos werden Dir den Einstieg erleichtern: Willkommen auf CAD.de
Auch sehr hilfreich für ProE-/Creo-Neulinge: ProE konfigurieren

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2019 CAD.de | Impressum | Datenschutz