Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

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
GELÖST

Wie bis zu einem bestimmten Text eines Reg-Eintrags in einer Variable abspeichern?

Frage Entwicklung Batch & Shell

Mitglied: spookypoof

spookypoof (Level 1) - Jetzt verbinden

09.06.2013, aktualisiert 22:24 Uhr, 2001 Aufrufe, 14 Kommentare, 6 Danke

Ahoi,

Ich brauche Hilfe. Und zwar muss ich den VLC-Pfad im Reg finden Und in meiner Batch nutzen.

01.
FOR /F "tokens=2,*" %%A in ('reg query "HKEY_CLASSES_ROOT\Applications\vlc.exe\shell\Open\command" ^| find "REG_SZ"') do SET vlc=%%B
Hinbekommen habe ich es schon, aber das Problem ist, dass in der Reg als Wert noch das steht ' --started-from-file "%1" ' Und das stört den start vom VLC in der Batch. Das heißt ich brauche nur den Installations-Pfad des VLCs.

Die Frage: Wie kann ich bis zu einer bestimmten Text eines Reg-Eintrags in einer Variable abspeichern?


~spookypoof
Mitglied: bastla
09.06.2013, aktualisiert um 22:53 Uhr
Hallo spookypoof!

Wenn du mit "Zeile" tatsächlich "Zeile" meinst, dann etwa so:
FOR /F "tokens=2*" %%A in ('reg query "HKEY_CLASSES_ROOT\Applications\vlc.exe\shell\Open\command" ^| find "REG_SZ"') do if not defined vlc SET "vlc=%%B"
Grüße
bastla
Bitte warten ..
Mitglied: spookypoof
09.06.2013, aktualisiert um 22:33 Uhr
Ops mein Fehler :S Bis zu einem bestimmten Text.

In meinem Fall liegt der VLC hier: C:\Program Files (x86)\VideoLAN\VLC\vlc.exe
Aber in dem Reg Eintrag steht: "C:\Program Files (x86)\VideoLAN\VLC\vlc.exe" --started-from-file "%1"
Das ' --started-from-file "%1" ' soll von der Batch ignoriert werden. Und der VLC-Installations Pfad soll in einer Variable abgespeichert werden.

Aber danke schon mal.
Bitte warten ..
Mitglied: bastla
09.06.2013, aktualisiert um 22:53 Uhr
Hallo spookypoof!

Unter der Annahme, dass der Pfad unter Anführungszeichen steht:
FOR /F "tokens=2*" %%A in ('reg query "HKEY_CLASSES_ROOT\Applications\vlc.exe\shell\Open\command" ^| find "REG_SZ"') do for %%I in (%%B) do if not defined vlc SET "vlc=%%~I"
Grüße
bastla
Bitte warten ..
Mitglied: spookypoof
09.06.2013 um 22:40 Uhr
hmm.. meine Batch stürzt ab. :/ Und ich denke dass, "%1" ist das Problem.
Bitte warten ..
Mitglied: bastla
09.06.2013, aktualisiert um 22:53 Uhr
Hallo spookypoof!

Na gut, dann vielleicht:
01.
FOR /F "tokens=2*" %%A in ('reg query "HKEY_CLASSES_ROOT\Applications\vlc.exe\shell\Open\command" ^| find "REG_SZ"') do SET "vlc=%%B" 
02.
set "vlc=%vlc: --started-from-file "%1"=%"
Grüße
bastla
Bitte warten ..
Mitglied: spookypoof
09.06.2013 um 22:49 Uhr
Perfekt!! Hat geklappt =)

Vielen Dank bastla!
Bitte warten ..
Mitglied: bastla
09.06.2013 um 22:53 Uhr
Hallo spookypoof!

Freut mich (und ist auch die sauberere Variante) ...

Grüße
bastla
Bitte warten ..
Mitglied: Friemler
09.06.2013 um 22:56 Uhr
Hallo spookypoof,

für die Abfrage des Pfades von VLC gibt es einen besser geeigneten Reg-Schlüssel:
HKEY_LOCAL_MACHINE\SOFTWARE\VideoLAN\VLC
Dort den Standartwert auslesen:
01.
@echo off & setlocal 
02.
 
03.
for /f "tokens=2*" %%a in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\VideoLAN\VLC" /ve') do ( 
04.
  set "vlc=%%b" 
05.
)
Gruß
Friemler
Bitte warten ..
Mitglied: spookypoof
09.06.2013, aktualisiert um 23:16 Uhr
Jo, ich wollte es am Anfang auch mit dem Reg-Schlüssel machen, aber den Schlüssel finde ich persönlich in meiner Reg nicht, obwohl VLC installiert ist. :/

Hab dafür ein Bild angefertigt:
http://s7.directupload.net/images/130609/cjdgyrqd.png
Bitte warten ..
Mitglied: Friemler
09.06.2013 um 23:22 Uhr
Hallo spookypoof,

wie ich an den Pfaden in diesem Kommentar sehe, hast Du ein 64Bit-System, VLC-Player ist aber eine 32Bit Anwendung. Der Registry-Pfad lautet deshalb
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\VideoLAN\VLC
wenn Du ihn aus einer 64Bit-Anwendung auslesen möchtest.

Gruß
Friemler
Bitte warten ..
Mitglied: spookypoof
09.06.2013, aktualisiert 14.07.2013
Sie haben recht! Jetzt wäre noch gut wenn meine Batch erkennt ob ich ein 32Bit System nutze dann den "HKEY_LOCAL_MACHINE\SOFTWARE\VideoLAN\VLC" Pfad benutzt oder wenn es um ein 64Bit System handelt den "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\VideoLAN\VLC" Pfad.

Ich denke so oder?

01.
FOR /F "tokens=1 delims=[" %%A IN ('VER') DO ECHO %%A^(32-bits^) >nul 
02.
for /f "tokens=2*" %%a in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\VideoLAN\VLC" /v InstallDir 2^>nul ^| find "REG_SZ" ') do ( 
03.
  set vlc="%%b\vlc.exe" >nul 
04.
 
05.
06.
 
07.
) else ( 
08.
 
09.
FOR /F "tokens=1 delims=[" %%A IN ('VER') DO ECHO %%A^(64-bits^) >nul 
10.
for /f "tokens=2*" %%a in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\VideoLAN\VLC" /v InstallDir 2^>nul ^| find "REG_SZ" ') do ( 
11.
  set vlc="%%b\vlc.exe" >nul 
12.
 
13.
14.
 
15.
)
Bitte warten ..
Mitglied: Friemler
09.06.2013 um 23:46 Uhr
Ich würde es auch mit
if defined ProgramFiles(x86)
lösen, hat sich als zuverlässiger als die Abfrage der Systemvariablen PROCESSOR_ARCHITECTURE erwiesen.

Gruß
Friemler
Bitte warten ..
Mitglied: spookypoof
09.06.2013, aktualisiert um 23:59 Uhr
Jo, würde auch gehen

Danke dir auch Friemler!
Bitte warten ..
Mitglied: Endoro
10.06.2013, aktualisiert um 00:14 Uhr
Hallo spookypoof,

hier noch ein Codestückchen zu Windows Version entdecken:

01.
@echo off 
02.
setlocal EnableDelayedExpansion 
03.
 
04.
::Identify OS 
05.
for /F "delims=" %%a in ('ver') do set ver=%%a 
06.
set Version= 
07.
for %%a in (95=95 98=98 ME=ME NT=NT 2000=2000 5.1.=XP 5.2.=2003 6.0.=Vista 6.1.=7 6.2.=8) do ( 
08.
   if "!Version!" equ "this" ( 
09.
      set Version=Windows %%a 
10.
   ) else if "!ver: %%a=!" neq "%ver%" ( 
11.
      set Version=this 
12.
13.
14.
 
15.
::Identify bit 
16.
if exist "%SYSTEMDRIVE%\Program Files (x86)" ( 
17.
   set Type=64 bit 
18.
) else ( 
19.
   set Type=32 bit 
20.
21.
 
22.
::Display result 
23.
echo %Version% %Type%
Gruss!
Bitte warten ..
Ähnliche Inhalte
Windows Tools
Reg Auswertung mit Powershell (1)

Frage von Bommi1961 zum Thema Windows Tools ...

PHP
gelöst TXT Datei auslesen und bestimmte Zeilen in Variable setzen (11)

Frage von 126594 zum Thema PHP ...

VB for Applications
gelöst Bestimmtes Arrayfeld mit Variable aufrufen? - VBS (10)

Frage von gabrixl zum Thema VB for Applications ...

Batch & Shell
gelöst Text Datei bestimmte Bereiche lesen und in neue Text schreiben (3)

Frage von TurboD zum Thema Batch & Shell ...

Neue Wissensbeiträge
Ubuntu

Ubuntu 17.10 steht zum Download bereit

Information von Frank zum Thema Ubuntu ...

Datenschutz

Autofahrer-Pranger - Bewertungsportal illegal

(8)

Information von BassFishFox zum Thema Datenschutz ...

Windows 10

Neues Win10 Funktionsupdate verbuggt RemoteApp

(2)

Information von thomasreischer zum Thema Windows 10 ...

Microsoft

Die neuen RSAT-Tools für Win10 1709 sind da

(2)

Information von DerWoWusste zum Thema Microsoft ...

Heiß diskutierte Inhalte
Router & Routing
Allnet - VDSL2 Modem - SFP (mini-GBIC) (20)

Frage von Dobby zum Thema Router & Routing ...

Voice over IP
DeutschlandLAN IP Voice Data M Premium, Erfahrung mit Faxgeräte? (17)

Frage von liquidbase zum Thema Voice over IP ...

TK-Netze & Geräte
TK-Anlage VoIP - DECT Erweiterung (16)

Frage von Lynkon zum Thema TK-Netze & Geräte ...