[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[系统相关] 批处理有没有指向“桌面”的环境变量?

请问有没有指向"桌面"的环境变数
虽然可以用其他变数合成
但是有鉴于 不同系统,繁体,简体,英文等..
"桌面"一词,不相同,例如在使用big5编写批处理,却在gbk系统执行,"桌面"一词肯定变成乱码
请问有没有避免此情形的方法
或是指向桌面的环境变数

好像没有哦只能到用户目录吧?而且如果是改装过的系统,桌面还会变的。
不过应该通过查询注册表是可以发现当前用户的桌面所在位置吧。
我查了下,因为我的系统就是改装过的所以好查,是下面这个注册项可以查到桌面的具体位置。
怎么用批处理调出来我就不知道了,你试试
  1. [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders]
  2. "Desktop"="D:\\我的文档\\桌面"
复制代码
成功了把调注册表的命令发上来,对我很有用哈
世界上没有学不会的知识,也没有想得到却做不到的事!

TOP

感謝你的建議,提供我的代碼
  1. @echo off
  2. 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")
  3. echo %desktop%
  4. pause
复制代码

TOP

  1. @echo off & setlocal enableDelayedExpansion
  2. 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"
  3. For /f "delims=*" %%i IN ('Call echo %Desktop%') do set Desktop=%%i
  4. echo %Desktop%
复制代码
测试环境:WINDOWS 8 64Bit
如系统环境不同,请自行修改 :)

TOP

返回列表