Jump to content

Alle zeichen A finden und durch B ersetzen.


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Recommended Posts

Hallo

bin mir zimlich sicher das Das hir schon besprochen worde aber ich brauche hilfe.

 

Was möchte ich machen?

 

Habe einen ordner mir mereren text.txt (Am besten im gleichen Ordner)dateien in denen ich alle zeichen z.b. "$" suche und mit einem "&" ersetze.

 

Ich würde das gerne mit einet .bat datei erledigen.

 

Brauche hilfe.

Link to comment
@xkinix, bitte gib dir etwas Mühe bei deiner Rechtschreibung. Je besser sich dein Text lesen lässt, um so eher wirst du hier Hilfe bekommen.

 

Danke für Dein Verständnis

blub

 

Sollte nicht auch ein Mod seine grauen Zellen einschalten, bevor er was postet? Und nein, ich habe für dein Posting kein Verständnis.

Link to comment

In BAT hab ich nix, aber in VBS. Das könnte aus einer BAT dann mittels

cscript ersetze.vbs <Pfad>

aufgerufen werden (wobei <Pfad> durch den entspr. Pfad ersetzt wird).

Hier der Code für "ersetze.vbs"

Const ForReading = 1, ForWriting = 2
Set Parameter=Wscript.Arguments

If Parameter.count > 0 then
 varPath = Parameter(0)
Else
 varPath="C:\TEMP"
End if

Set fso = CreateObject("Scripting.FileSystemObject")
Set folder = fso.GetFolder(varPath)

for each file in folder.Files
 Set f = fso.OpenTextFile(file.Path, ForReading)
 Text = f.ReadAll
 Set f = fso.OpenTextFile(file.Path, ForWriting, True)
 f.Write Replace(Text, "$", "&")
next

Das Ganze natürlich noch kpl. ohne irgendwelche Fehlerbehandlungen ;)

 

...sollten in dem Ordner wirklich nur die .TXT bearbeitet werden, es jedoch auch andere Dateien geben, so ist der Code natürlich noch etwas zu erweitern...

Edited by Cybquest
Anmerkung hinzugefügt
Link to comment

Vielen dank dein vbs code funktioniert auch ohne bat aufruf.

 

Ich weiss nich ob ich das darf, ich habe einen code gefunden in einem ander forum der mir sehr gut gefelt allerdings habe ich es nicht zum laufen gebracht.

 

Das ist eine .bat Datei

##############################################

@echo off & setlocal enabledelayedexpansion

set "Datei=D:\Test.txt"

set "Liste=D:\Ersetzungsliste.txt"

 

set "t=%temp%\text.tmp"

if exist "%t%" del "%t%"

for /f "delims=" %%i in ('findstr /n $ "%Datei%"') do set "Line=%%i" & call :ProcessLine

move "%t%" "%Datei%"

goto :eof

 

:ProcessLine

for /f "tokens=1* delims=:" %%a in ("%Line%") do set "L=%%b"

if not defined L >>"%t%" echo\& goto :eof

for /f "usebackq tokens=1-2 delims=;" %%s in ("%Liste%") do set "L=!L:%%s=%%t!"

>>"%t%" echo %L%

goto :eof

############################

 

Die Ersetzunsliste ist so.

§;$

2;8

ö;ü

und so weiter.

 

Vielen dank im voraus.

Link to comment
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...