2014-11-23 37 views
0

我想使用批处理文件从Windows注册表获取桌面路径。我创建了下面的代码,但它打印:如何获得带批处理的桌面路径

Desktop  REG_SZ C:\Documents and Settings\Usuario\Escritorio 

任何线索我怎么可以设置只在DESKTOP_DIR变量的路径?

下面的代码:

@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 

回答

1

像这样:

@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