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, 7679 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 In einer Batch variable die Datei extension ermitteln ? (4)

Frage von Kriegstreiber zum Thema Batch & Shell ...

Batch & Shell
gelöst Powershell - Werte in Variable durch Schleife erweitern bzw. ändern (5)

Frage von ralfkausk zum Thema Batch & Shell ...

Neue Wissensbeiträge
Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Peripheriegeräte

Was beachten bei der Wahl einer USV Anlage im Serverschrank

(6)

Tipp von zetboxit zum Thema Peripheriegeräte ...

Windows 10

Das Windows 10 Creators Update ist auf dem Weg

(6)

Anleitung von BassFishFox zum Thema Windows 10 ...

Administrator.de Feedback

Tipp: Ungelöste Fragen ohne Antwort in Tickeransicht farblich hinterlegen

Tipp von pattern zum Thema Administrator.de Feedback ...

Heiß diskutierte Inhalte
Windows Server
gelöst Update BackupExec 2015 auf 2016 führt zu SQL-Server Problem (16)

Frage von montylein1981 zum Thema Windows Server ...

Batch & Shell
gelöst Batch um Benutzer aus Sitzung abzumelden (15)

Frage von zeroblue2005 zum Thema Batch & Shell ...

Linux
gelöst Google Chrome startet nicht (12)

Frage von Thomas91 zum Thema Linux ...