Windows 10批处理脚本如何通过内置变量定位当前用户桌面路径?
Windows 批处理跨设备获取当前用户桌面路径方案
推荐方案(适配所有桌面路径配置,包括自定义路径)
直接查询注册表获取真实桌面路径,不管用户是否修改过桌面默认存储位置都能正确识别,批处理代码如下:
@echo off :: 读取注册表获取桌面路径并赋值给DESKTOP_PATH变量 for /f "tokens=2*" %%a in ('reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v "Desktop" 2^>nul') do set "DESKTOP_PATH=%%b" :: 示例:输出获取到的桌面路径 echo 当前用户桌面路径为:%DESKTOP_PATH%
使用说明:
- 执行上述代码后,直接通过
%DESKTOP_PATH%即可调用桌面路径 - 涉及路径拼接时,务必用双引号包裹完整路径,避免路径含空格时解析出错,示例:
:: 示例:在桌面新建名为测试文件.txt的文档 echo 测试内容 > "%DESKTOP_PATH%\测试文件.txt"
简易方案(仅适用于默认路径场景)
如果确定所有运行脚本的设备都没有修改过桌面的默认存储位置,可以直接使用%USERPROFILE%\Desktop,写法更简单,但无法适配自定义过桌面路径的设备,不建议通用场景使用。
内容的提问来源于stack exchange,提问作者Wind_Explorer
相关产品推荐
相关产品推荐

