Top-Themen

Aktuelle Themen (A bis Z)

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

batch text auslesen und text ersätzen

Mitglied: opixantos

opixantos (Level 1) - Jetzt verbinden

20.12.2005, aktualisiert 23.12.2005, 9008 Aufrufe, 9 Kommentare

leer
! REG.EXE VERSION 3.0
leer
HKEY_CURRENT_USER\Software\game\chicka
  LastGameNameUsed REG_SZ superman
1# wie kann ich mit for den superman auslesen.. der superman könnte aber auch viellänger heissen z.b. supermanduperman

2# wie kann ich in einem txt ein text suchen: test 500 nun soll er die txt öffnen und im wirwar die zeile mit test finden und löschen dabei ersätzt er es durch test "500"
oder test2 "c" "500" er soll den test2 "c" suchen und durch test2 "c" "500" ersätzen..

ich weis das die for frage schon mal diskutiert wurde jedoch verstehe ich die skip token delims eol oder /f /B /R nicht so ganz.. ich weis nicht wie ich forgehen soll..

ich hoffe jemand kann mir helfen und erleutern wie das ganze geht..

thx
Mitglied: Lord-Helmi
21.12.2005 um 12:56 Uhr
Hallo,

vielleicht kannst du deine Fragen nochmal neu formulieren. Momentan habe ich keine Ahnung, was du willst. Evtl. gib uns das ganze "drumherum" auch mit an, das kann durchaus hilfreich sein.

Wenn du Fragen zur for-Schleife hast. kannst du die hier gerne stellen. Wenn du dich in Batch im allgemeinen etwas einarbeiten willst, guck dir doch mal die Tutorials von Biber dazu an. Die sind wirklich gut.

Gruß
Michael
Bitte warten ..
Mitglied: opixantos
21.12.2005 um 19:41 Uhr
hi lord danke für deinen tipp.. ja ich möchte mich in die batch programiereung einarbeiten.. meine frage bezüglich for.. der text oben ist aus einer regi in eine txt ausgegeben das kann ich zumindest jedoch den superman kann ich nicht auslesen..

das mit test2 "c" "500" habe ich per find /v gelöst alle anderen text werden in eine datei eingefügt und und zuletzt füge ich die per echo xy >> text.txt ein das klappt gut..

ich habe wie geschrieben die mühe mit dem for schleifen.. ich verstehe das mit skip token delims und eol nicht so ganz.. wie kann ich den superman auslesen..

ich habe es mal mit find

reg query HKEY_CURRENT_USER\Software\game\chicka /v LastGameNameUsed >temp.txt
find /v "HKEY_" temp.txt > temp2.txt
DEL /s/q/f temp.txt
find /v "!" temp2.txt > temp.txt
DEL /s/q/f temp2.txt

jetzt habe ich in der temp.txt


TEMP2.TXT

TEMP.TXT


xxxxLastGameNameUsedxxxxxtabxxxxxREG_SZxxxxxtabxxxxxsuperman

wie kann ich die leerzeichen und diese ---------- TEMP2.TXT löschen damit nur noch

xxxxLastGameNameUsedxxxxxtabxxxxxREG_SZxxxxxtabxxxxxsuperman

in der txt steht damit wehere es einfache um es auszulesen und in den %nickname% per set nickname=%%i zu setzen

es hat eben bei xxxxLastGameNameUsedxxxxxtabxxxxxREG_SZxxxxxtabxxxxxsuperman
auch leerzeichen und tab ich weis nicht wie ich die auch ausklammern kann..

x leerzeichen
xxxxxtabxxxxx tab

thx
Bitte warten ..
Mitglied: Biber
21.12.2005 um 21:46 Uhr
Moin opixantos,

das meiste hast Du ja schon gelöst, und gar nicht so schlecht...

Bei den TABs begibst Du Dich wieder in den vo M$ ...na, sagen wir mal etwas lieblos dokumentierten Bereich. Ich werde das bei Gelegenheit mal in meinem Batch-Tut IV ("Undokumentierte Bugs, Features und Workarounds im Batch") etwas ausführlicher auswalzen.

Also, wie Du richtig gemerkt hast, kommt bei Reg.exe (und einigen anderen CMD-Befehlen) ein TAB als Trennzeichen zurück.

Im FOR-Befehl kannst Du auch den TAB als "Delimiter" (also Parameter delims=.... angeben. Aber: Nur im Batch, mit einem Editor, nicht an der CMD-Line.

Wenn Deine Zeile so aussieht: "xxxxLastGameNameUsedxxxxxtabxxxxxREG_SZxxxxxtabxxxxxsuperman .....(mit TABS und Spaces zwischen den Tokens), dann im Batch:
...
For /F "tokens=3 delims= " %%a ('find "LastGameNameUsed" temp.txt') do set "LastGameNameUsed=%%a"
:: delims ist ein TAB gefolgt von einem LEERZEICHEN
...
-oder- ohne den Zwischenschritt mit der Temp-Datei folgendes in die Klammer vor dem DO:
'reg query HKEY_CURRENT_USER\Software\game\chicka /v LastGameNameUsed ^|find "LastGameNameUsed" '
(Rest wie oben.)

Zum Thema Reg-Key ( mit REG-exe oder RegEdit.exe ) auslesen gibt es auch Tutorials hier in Batch und Shell.
Zum Thema FOR..IN..DO.. hatte ich diese Woche etwas weiter ausgeholt hier: https://www.administrator.de/Hilfe_bei_Batchdatei.html

Den Parameter "eol.." in der FOR-Anweisung vergiss einfach; kommt auch in Batch-Tut IV. Unwichtig jetzt.

HTH Biber
Bitte warten ..
Mitglied: opixantos
22.12.2005 um 23:45 Uhr
hallo bibe ich danke dir..

For /F "tokens=3 delims= " %%a in ('find "LastGameNameUsed" temp.txt') do set "LastGameNameUsed=%%a"
:: delims ist ein TAB gefolgt von einem LEERZEICHEN
...
-oder- ohne den Zwischenschritt mit der Temp-Datei folgendes in die Klammer vor dem DO:
'reg query HKEY_CURRENT_USER\Software\game\chicka /v LastGameNameUsed|find "LastGameNameUsed" '

hab da einige ergenzung da es sonst bei mir nicht läuft

jedoch giebt er wenn ich echo %LastGameNameUsed% > test.txt in die test.txt ECHO ist eingeschaltet (ON).

bei der temp steht jetzt nur noch dank dir

xxxxLastGameNameUsedxxxxxtabxxxxxREG_SZxxxxxtabxxxxxsuperman

aber superman wird nicht ausgegeben

thx opi
Bitte warten ..
Mitglied: opixantos
23.12.2005 um 00:06 Uhr
For /F "tokens=3 delims=   " %%a in ('find "REG_SZ" temp.txt') do set "nicki=%%a"

damit ging es dan
mal schauen was als nechstes anstehet

big thx biber & Co.
Bitte warten ..
Mitglied: Biber
23.12.2005 um 00:10 Uhr
Tja, opixantos,

kann aber nichts Gravierendes mehr sein - vielleicht habe ich etwas bei Deinem Beispiel falsch interpretiert und irgendwo einen TAB zuviel....

Also, ich hab Deinen Output, den Du gepostet hast übernommen
xxxxLastGameNameUsedxxxxxtabxxxxxREG_SZxxxxxtabxxxxxsuperman
und so in eine Textdatei temp.dat kopiert (Cut & Paste).
Mit meinem Editor habe ich alle x'e mit Leerzeichen übertippt und alle "tab"s durch TABs ersetzt.
Sieht also so aus:
---inhalt temp.txt
LastGameNameUsed REG_SZ superman
---ende temp.txt

---Mein einzeiliger TestLUName.Bat (wieder mit "delims=TAB+LEERZEICHEN":
$cmd$ type testLUName.bat
For /F "tokens=3 delims= " %%a in (temp.txt) do echo set "LastGameNameUsed=%%a"
Z:\>testLUName
(Output)
$cmd$ For /F "tokens=3 delims= " %a in (temp.txt) do echo set "LastGameNameUsed=%a"
$cmd$ echo set "LastGameNameUsed=superman"
set "LastGameNameUsed=superman"

Works as designed. Beaverproofed.

Also entweder habe ich Deine x'e und "tab"s fehlinterpretiert oder Dir fehlt ein TAB oder ein SPACE beim "delims"- Parameter.
Wenn Du das nicht zum Laufen bekommst, schick mir den Reg.exe-Output als Textdatei und Deinen Batch-Schnipsel.
Bei mir laufen die meisten Bätchelchen nach relativ kurzem Sträuben freiwillig.
Und von diesem Zeitpunkt an auch sogar unter Wasser.

Bis dann
Biber
Bitte warten ..
Mitglied: Biber
23.12.2005 um 00:22 Uhr
Sorry, war über Kreuz gepostet..

Wenn das Phänomen so ist, wie von Dir gepostet, dann verwende bitte beim FIND-Aufruf den Schalter /i (=ignoriere Klein/Großscheibung)
Dann steht in der Registry "LastgameNameUser" und geprüft wird "LastGameNameUser" (oder so ähnlich) und die sind ungleich. Wenn man/frau es genau nimmt.

Also ändern:
'reg query HKEY_CURRENT_USER\Software\game\chicka /v LastGameNameUsed^|find "LastGameNameUsed" '

in
'reg query HKEY_CURRENT_USER\Software\game\chicka /v LastGameNameUsed^|find /i "LastGameNameUsed" '

Und wichtig ist das "maskierte" Pipezeichen (das "^" vor dem "|"), das fehlt in Deinem Antwortposting !! Grad gemerkt. Das könnte auch der Fehler sein.

Das schaffen wir schon, dass bei Dir "superman" statt "nicki" rauskommt
Bitte warten ..
Mitglied: opixantos
23.12.2005 um 00:23 Uhr
biber big thx das war eben mein fehler dort.. ich wusste nicht was für zeichen bei delims kommt da es leer war ;) aber das ^|find ging irgend wie nicht also hab ich den ^ weg gemacht und jetzt geht alles.. superman wird angezeigt :D
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

Auslesen einer Datei mit einem Anführungszeichen im Text

Frage von c20082005Batch & Shell1 Kommentar

Hallo zusammen, ich habe ein Problem, das ich auch nach einiger Recherche im Internet nicht gelöst bekomme: Ich habe ...

Batch & Shell

Mit Einer Batch Datei Text Bearbeiten

gelöst Frage von ronny30021Batch & Shell2 Kommentare

Guten Tag miteinader Ich habe folgendes Problem: Ich würde gerne mit einer Batch-Datei eine Text-Datei durchsuchen, Das gesuchte wort ...

Batch & Shell

Mit Batch 2 Texte vergleichen

gelöst Frage von ronny30021Batch & Shell3 Kommentare

Guten Tag Ich will mit einer Batch Datei 2 Texte vergleichen Beispiel Text 1: A B C 1 22 ...

Batch & Shell

Text Zeilenweise auslesen und variable überprüfen

Frage von BruendlBatch & Shell11 Kommentare

Moin Moin, ich habe eine Textdatei mit folgendem Inhalt: ich möchte jetzt gerne die beiden Werte, die von einem ...

Neue Wissensbeiträge
Erkennung und -Abwehr

Neue Sicherheitslücke Foreshadow (L1TF) gefährdet fast alle Intel-Prozessoren

Information von Frank vor 8 StundenErkennung und -Abwehr1 Kommentar

Eine neue Sicherheitslücke, genannt Foreshadow (alias L1TF) wurde auf der Usenix Security 18 von einem Team internationaler Experten veröffentlicht. ...

Vmware
VMware Updates gegen L1 Lücke
Information von sabines vor 16 StundenVmware

Für die Vmware Produkte vCenter Server, ESXi, Workstation und Fusion stehe Updates bereit um die L1 Lücke zu schließen. ...

Drucker und Scanner
HP-MF-Drucker per Fax angreifbsr
Information von Lochkartenstanzer vor 2 TagenDrucker und Scanner3 Kommentare

Endlich eine sinnvolle Verwendung für Faxe: Damit kann man offensichtlich den Drucker übernehmen. lks

Router & Routing

Das pfSense Buch ist jetzt für jeden kostenlos zu beziehen

Tipp von magicteddy vor 3 TagenRouter & Routing2 Kommentare

Bisher war das Buch nur für zahlende Unterstützer verfügbar, jetzt steht für Jedermann kostenlos zur Verfügung. Siehe auch The ...

Heiß diskutierte Inhalte
Microsoft
VPN Verbindung kann nicht aufgebaut werden
Frage von AlexderITlerMicrosoft35 Kommentare

Hallo, Ich möchte an einem unserer PCs in unserer Tochterfirma eine VPN zu unserem Netzwerk einrichten. Das schlägt allerdings ...

Windows Server
Domäne einsilbig mit nur einem Namen benannt - sowie AD und MX auf einer VM Kardinalsfehler?
Frage von TomTestWindows Server27 Kommentare

Hallo liebe Freunde gepflegter Probleme, seit kurzem soll ich eine Domäne verwalten die zuvor von einem IT-Dienstleister erstellt und ...

Datenbanken
MySQL Datenbank Import Aufgabe für mehrere .csv dateien
gelöst Frage von Marcel1989Datenbanken19 Kommentare

Hi, ich komm nicht weiter. Ich hab auf einem Windows Server 2012 r2 eine MariaDB/MySQL laufen. Nun soll diese ...

DNS
Gibt es eine Art DNS Proxy?
Frage von icepietDNS15 Kommentare

Hallo Nerds, Ich würde gerne folgendes machen: ts.domain.de:3389 soll auf 1.2.3.4:3389 auflösen ts2.domain.de:3389 soll auf 1.2.3.4:3390 auflösen Gibt es ...