Reputation: 1756
I want to get the desktop path from Windows Registry using a batch file. I created the following code, but it prints:
Desktop REG_SZ C:\Documents and Settings\Usuario\Escritorio
Any clue how I can set only the path in DESKTOP_DIR variable?
Here's the code:
@ECHO OFF
SET DESKTOP_REG_ENTRY="HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders"
SET DESKTOP_REG_KEY="Desktop"
SET DESKTOP_DIR=
FOR /F "tokens=*" %%a IN ('REG QUERY %DESKTOP_REG_ENTRY% /v %DESKTOP_REG_KEY% ^| FINDSTR "REG_SZ"') DO (
ECHO %%a
)
ECHO Desktop dir: %DESKTOP_DIR%
PAUSE
Upvotes: 1
Views: 1627
Reputation: 9545
Like this :
@echo off
SET DESKTOP_REG_ENTRY="HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders"
SET DESKTOP_REG_KEY="Desktop"
SET DESKTOP_DIR=
FOR /F "tokens=1,2*" %%a IN ('REG QUERY %DESKTOP_REG_ENTRY% /v %DESKTOP_REG_KEY% ^| FINDSTR "REG_SZ"') DO (
set DESKTOP_DIR="%%c"
)
ECHO Desktop dir: %DESKTOP_DIR%
PAUSE
Upvotes: 2