ciri-cuervo
ciri-cuervo

Reputation: 1756

How to get desktop path with batch

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

Answers (1)

SachaDee
SachaDee

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

Related Questions