标题: [系统相关] 批处理有没有指向“桌面”的环境变量? [打印本页]
作者: strong12345 时间: 2011-4-7 22:24 标题: 批处理有没有指向“桌面”的环境变量?
请问有没有指向"桌面"的环境变数
虽然可以用其他变数合成
但是有鉴于 不同系统,繁体,简体,英文等..
"桌面"一词,不相同,例如在使用big5编写批处理,却在gbk系统执行,"桌面"一词肯定变成乱码
请问有没有避免此情形的方法
或是指向桌面的环境变数
作者: mxxcgzxxx 时间: 2011-4-7 22:35
好像没有哦只能到用户目录吧?而且如果是改装过的系统,桌面还会变的。
不过应该通过查询注册表是可以发现当前用户的桌面所在位置吧。
我查了下,因为我的系统就是改装过的所以好查,是下面这个注册项可以查到桌面的具体位置。
怎么用批处理调出来我就不知道了,你试试- [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders]
- "Desktop"="D:\\我的文档\\桌面"
复制代码
成功了把调注册表的命令发上来,对我很有用哈
作者: strong12345 时间: 2011-4-7 23:00
感謝你的建議,提供我的代碼- @echo off
- for /f "tokens=3-5" %%a in ('reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v desktop^|find ":"') do (set "desktop=%%a %%b %%c")
- echo %desktop%
- pause
复制代码
作者: andyrave 时间: 2011-4-7 23:14
- @echo off & setlocal enableDelayedExpansion
- For /f "tokens=2*" %%a IN ('reg query "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v Desktop') DO Set "Desktop=%%b"
- For /f "delims=*" %%i IN ('Call echo %Desktop%') do set Desktop=%%i
- echo %Desktop%
复制代码
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |