桌面路径的环境变量是什么?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (94)

我正在编写一个Windows批处理文件,并希望将某些内容复制到桌面。我想我可以使用这个:

%USERPROFILE%\Desktop\

不过,我想,这可能只适用于英文操作系统。有没有一种方法可以在批处理文件中执行此操作,该文件可用于任何国际化版本?

UPDATE

我尝试了以下批处理文件:

REG QUERY "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v Desktop
FOR /F "usebackq tokens=3 skip=4" %%i in (`REG QUERY "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v Desktop`) DO SET DESKTOPDIR=%%i
FOR /F "usebackq delims=" %%i in (`ECHO %DESKTOPDIR%`) DO SET DESKTOPDIR=%%i
ECHO %DESKTOPDIR%

并得到这个输出:

S:\> REG QUERY“HKCU \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ User Shell Folders”/ v桌面

HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ User Shell Folders
    桌面REG_EXPAND_SZ%USERPROFILE%\桌面


S:\> FOR / F“usebackq tokens = 3 skip = 4”%i in(`REG QUERY“HKCU \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ User Shell Folder
s“/ v桌面”)设置DESKTOPDIR =%i

S:\> FOR / F“usebackq delims =”%i in(`ECHO ECHO is on.`)DO SET DESKTOPDIR =%i

S:\> SET DESKTOPDIR = ECHO开启。

S:\> ECHO ECHO开启。
ECHO开启。
提问于
用户回答回答于

我发现最好的解决方案是将VBScript与批处理文件一起使用。

以下是批处理文件:

@ECHO OFF
FOR /F "usebackq delims=" %%i in (`cscript findDesktop.vbs`) DO SET DESKTOPDIR=%%i
ECHO %DESKTOPDIR%

下面是findDesktop.vbs文件:

set WshShell = WScript.CreateObject("WScript.Shell")
strDesktop = WshShell.SpecialFolders("Desktop")
wscript.echo(strDesktop)
用户回答回答于

为了安全起见,你应该在Powershell(或VBScript)中 使用适当的API 使用PowerShell:

[Environment]::GetFolderPath("Desktop")

使用Powershell复制内容:

Copy-Item $home\*.txt ([Environment]::GetFolderPath("Desktop"))

这是一个VBScript的例子来获取桌面路径:

dim WSHShell, desktop, pathstring, objFSO
set objFSO=CreateObject("Scripting.FileSystemObject")
Set WSHshell = CreateObject("WScript.Shell")
desktop = WSHShell.SpecialFolders("Desktop")
pathstring = objFSO.GetAbsolutePathName(desktop)
WScript.Echo pathstring

所属标签

可能回答问题的人

  • 应用案例分享

    1 粉丝490 提问5 回答
  • uncle_light

    5 粉丝518 提问4 回答
  • o o

    4 粉丝495 提问4 回答
  • 学生

    8 粉丝476 提问3 回答

扫码关注云+社区

领取腾讯云代金券

玩转腾讯云 有奖征文活动