Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Batch - Text in variable speichern und zB. a in b ändern

Frage Entwicklung Batch & Shell

Mitglied: appName

appName (Level 1) - Jetzt verbinden

01.09.2008, aktualisiert 18.10.2012, 7658 Aufrufe, 6 Kommentare

Hallo,
ich möchte ein Batch Script programmieren, dass den Quellcode einer Datei auslesen kann und ihn in eine variable speichern.
Soweit bin ich schon alleine gekommen. (mit for /F "Tokens=*" %%i in (C:\test.txt) do set quell=%%i)
Jetzt soll der Script aber ein Buchstaben in mehrere anderen ersetzen.
Beispiel:
a = |§4µ|
Und zum Schluss soll der Script den umgeänderten Text in eine Datei speichern.
Vielen dank im voraus!

appName
Mitglied: bastla
01.09.2008, aktualisiert 18.10.2012
Hallo appName und willkommen im Forum!

Soferne Du nicht auf puren Batch bestehst, sollte die zB hier gezeigte Vorgangsweise auf Dein Problem anwendbar sein ...

Noch als Hinweis: Um den geänderten Text in einer neuen Datei zu erhalten (und nicht das Original zu verändern), müsste die Originaldatei vorher kopiert und dann das VBScript mit der Kopie als Parameter aufgerufen werden.
Falls Du es aber doch mit nativem Batch versuchen willst (Sonderzeichen wie "|" oder "<" machen das meist etwas mühsam), dann (ungetestet) etwa so:
01.
@echo off & setlocal 
02.
set "Neu=C:\neu.txt" 
03.
if exist "%neu%" del "%neu%" 
04.
 
05.
for /F "Tokens=*" %%i in (C:\test.txt) do set quell=%%i & call :ProcessLine 
06.
goto :eof 
07.
 
08.
:ProcessLine 
09.
>>"%neu%" echo %quell:a=|§4µ|% 
10.
goto :eof
Grüße
bastla
Bitte warten ..
Mitglied: appName
01.09.2008 um 16:09 Uhr
Vielen dank!
Allerdings habe ich meine frage wohl nicht richtig formuliert!
Ich möchte aber wenn im Quellcode zum Beispiel ein a befindet soll daraus "|§4µ|" werden oder wenn sich im Quellcode ein A befindet soll daraus dann ein "|5(ä|" werden. Zum schluss soll das dann alles in eine andere Datei geschpeichert werden!
Vielen dank im voraus!
appName
Bitte warten ..
Mitglied: bastla
01.09.2008 um 16:23 Uhr
Hallo appName!

Welche der beiden Varianten hast Du getestet, und inwieweit weicht das erzielte Ergebnis von Deinen Vorstellungen ab?

... und was meinst Du mit
Zum schluss soll das dann alles in eine andere Datei geschpeichert werden!

Grüße
bastla
Bitte warten ..
Mitglied: appName
01.09.2008 um 17:30 Uhr
Also wenn ich dein script benutze kommt folgende Fehlermeldung:
Der Befehl "°4À" ist entweder falsch geschrieben oder konnte nicht gefunden werden.
Und ich erkläre es nochmal:
Also ich habe eine textdatei zum Beispiel unter C:\text.txt. In dieser Textdatei steht zB.: abzdefghijklmnopqrstuvwxyz. Daraus wird dann |§4µ|bcdefghijklmnopqrstuvwxyz. Das wird dann unter C:\key.txt gespeichert!

In der neu.txt wird folgendes gespeichert:
ECHO ist eingeschaltet (ON).

MfG
appName
Bitte warten ..
Mitglied: bastla
01.09.2008 um 18:01 Uhr
Hallo appName!

Also wenn ich dein script benutze kommt folgende Fehlermeldung:
Der Befehl "°4À" ist entweder falsch geschrieben oder konnte nicht gefunden werden.
Hatte ich erwähnt, dass Batch sich nicht sooo gut für den Umgang mit Sonderzeichen eignet, und daher als bevorzugte Variante auf einen anderen Beitrag verwiesen?

Um Dir die Mühe abzunehmen, Dir die andere Möglichkeit anzusehen und auch noch anpassen zu müssen:
01.
@echo off & setlocal 
02.
set "Alt=C:\Text.txt" 
03.
set "Neu=C:\key.txt" 
04.
set "Von=a" 
05.
set "Nach=|§4µ|" 
06.
 
07.
set R=%temp%ReplaceInFile.vbs 
08.
>%R% echo Set fso=CreateObject("Scripting.FileSystemObject"):Set a=WScript.Arguments:T=fso.OpenTextFile(a(0)).ReadAll:fso.CreateTextFile(a(0)).Write Replace(T,a(1),a(2)) 
09.
 
10.
copy "%Alt%" "%Neu%">nul 
11.
cscript //nologo %R% "%Neu%" "%Von%" "%Nach%"
Und ja, Du kannst die letzte Zeile auch so schreiben:
01.
cscript //nologo %R% "%neu%" "a" "|§4µ|"
Und nochmals ja, Du kannst sie mehrmals hintereinander mit unterschiedlichen "Von"- und "Nach"-Werten verwenden und damit mehrere Ersetzungen vornehmen lassen.

Grüße
bastla
Bitte warten ..
Mitglied: appName
01.09.2008 um 18:32 Uhr
Vielen dank!!!!!!!!
So gehts!
MfG
appName
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Batch & Shell
Wert in Registry suchen und in Variable speichern (2)

Frage von J.Troll zum Thema Batch & Shell ...

Batch & Shell
gelöst Mittels Batch alle .txt Dateien eines Verzeichnises ändern (10)

Frage von mttspeedy zum Thema Batch & Shell ...

Batch & Shell
Batch-Variable nach Stichworten aus TXT Datei durchsuchen (3)

Frage von Markus5579 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (20)

Frage von Xaero1982 zum Thema Microsoft ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Festplatten, SSD, Raid
M.2 SSD wird nicht erkannt (14)

Frage von uridium69 zum Thema Festplatten, SSD, Raid ...