Ktos napisał(a)
Moment, ale req query robi odczyt z gałęzi HKLM, który bez problemów da się zrobić bez uprawnień administratora.
C:\Users\Marcin>reg query "hklm\software\microsoft\windows\currentversion\run"
HKEY_LOCAL_MACHINE\software\microsoft\windows\currentversion\run
XboxStat REG_SZ "C:\Program Files\Microsoft Xbox 360 Accessories\XboxStat.exe" silentrun
U mnie na 7 (ale nie mam WinRAR-a) po prostu nie ma ściezki HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\
, mniejsza o to, bo czepianie się %%a to błąd "składniowy".
Dla odmiany for /f %a in ('reg query "hklm\software\microsoft\windows\currentversion\run"') do echo %a
działa, więc problem jak wół jest w zastosowaniu %%a.
Super. Możemy już jakoś wyświetlić to co che, tylko że tak:
- gdy wywołujemy: for /f %a in ('reg query "hklm\software\microsoft\windows\currentversion\run"') do echo %a z lini poleceń to działa
- gdy odpalam plik bat, w którym jest tylko ta linijka pisze mi:
Składnia polecenia jest niepoprawna.
C:\TP>for /f a
C:\TP>
Może to dlatego, że:
O ile dobrze pamiętam (mogę się mylić), to zasada jest taka:
- w plikach (skryptach) używasz dwóch procentów przed nazwą zmiennej
- w linii poleceń jednego procenta
Czyli:
- to będzie dobre w linii poleceń, ale wywoła błąd w skrypcie:
for %x in (a b c) do echo %x
- to będzie dobre w skrypcie, ale wywoła błąd w linii poleceń:
for %%x in (a b c) do echo %%x
Przykład:
REG QUERY "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\winrar.exe" /v "Path"
po odpaleniu pojawia się nam w linii poleceń:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\winrar.exe
Path REG_SZ C:\Program Files\WinRAR
jak teraz z tego pobrać "C:\Program Files\WinRAR" zjako parametr ?
Do tego własnie służył ten skrypt. Na XP śmiga a na VISTA/7 nie działa omg :-(