Batch: Daten aus Variable extrahieren

Kurz: Ich habe eine Variable mit z. B. den Werten von
Code:
reg query HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Run')
Nachdem ich alle "HKEY" Zeilen rausgefiltert habe, habe ich eine Variabkle mit dem Programmnamen, dem Schlüsseltyp und dem Programmpfad.
Natürlich ist alles immer unterschiedlich lang.
Jetzt will ich die drei Komponenten voneinander trennen.

Soweit ich das sehe kann man da mit reg und find/findstr nicht viel machen.

Oder kann man die Autostartprogramme und ihre Registrierungspfade auch über "wmic" herausfinden?

Teil des unvollständigen Batchprogramms:
Code:
cls
reg query HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Run > %temp%\startup.txt
reg query HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\RunOnce > %temp%\startup.txt
reg query HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run >> %temp%\startup.txt
reg query HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce >> %temp%\startup.txt
reg query HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run >> %temp%\startup.txt
reg query HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce >> %temp%\startup.txt
reg query "HKLM\SOFTWARE\Microsoft\Shared Tools\MSConfig\startupreg" /s > %temp%\startup2.txt
reg query "HKLM\SOFTWARE\Microsoft\Shared Tools\MSConfig\startupfolder" /s >> %temp%\startup2.txt
for /f %%i In ('type %temp%\startup.txt') DO (
if not "%%i"=="" (
echo %%i | find "HKEY"
if %errorlevel%==0 (
if


)
)
)
 
Warum willst du so ein Kram gerade in Batch machen? PHP CLI, Python, PowerShell, AutoHotkey, JScript wäre alles viel weniger Wartungsaufwand und keine goto/for-Knobelaufgabe.
 
Immer diese genialen Vorschläge, es mit XY zu machen, statt mal konstruktiv etwas beizutragen.

Aber zum eigentlichen Thema:

@AnonLuke:
Gehe ich recht in der Annahme, dass du innerhalb der if-Abfrage mit "%errorlevel%==0" die Zeile hast, die die Werte entsprechend enthält und diese nur korrekt auseinandernehmen müsstest? Wenn ja, dann kann man das eigentlich immer irgendwie mit einer for-Schleife lösen, denn diese kann nach verschiedenen Trennern (delims) und auch nur bestimmte Felder (tokens) trennen. Da ich leider gerade kein Windows zur Hand habe, kann ich nicht genau schauen, was in der Zeile steht um zu helfen, wie man das herausbekommt, aber als Lektüre sollte folgender Link helfen: For /f - Loop through text | Windows CMD | SS64.com
 
Zurück
Oben