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, 7693 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 ..
Ähnliche Inhalte
Batch & Shell
gelöst Laufwerksbezeichnung (label) in Batch als Variable nutzen (7)

Frage von tobias.mock zum Thema Batch & Shell ...

Batch & Shell
gelöst Variable per Batch auslesen und in Registry schreiben (1)

Frage von Zendara zum Thema Batch & Shell ...

Batch & Shell
gelöst Dateinamen mit Batch-Datei ändern - Problem (9)

Frage von fffffuuuuuuuhhhh zum Thema Batch & Shell ...

Neue Wissensbeiträge
Microsoft

Restrictor: Profi-Schutz für jedes Window

Tipp von AlFalcone zum Thema Microsoft ...

Batch & Shell

Batch zum Zurücksetzen eines lokalen Profils

Tipp von Mr.Error zum Thema Batch & Shell ...

RedHat, CentOS, Fedora

Fedora, RedHat, Centos: DNS-Search Domain setzen

(13)

Tipp von Frank zum Thema RedHat, CentOS, Fedora ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
VPN Tunnel aufbauen (16)

Frage von Hajo2006 zum Thema LAN, WAN, Wireless ...

Router & Routing
ASUS RT-N18U mit VPN Client hinter Fritzbox - Portforwarding (15)

Frage von marshall75000 zum Thema Router & Routing ...

Microsoft Office
Saubere HTML aus Word-Dokument (15)

Frage von peterpa zum Thema Microsoft Office ...

E-Mail
gelöst Probleme beim E-Mail Empfang (12)

Frage von TommyB83 zum Thema E-Mail ...