laj*_*jos 4 windows-xp batch-file windows-vista
在 XP 和 Vista 上从批处理脚本中查找用户的 Documents 文件夹的最佳方法是什么?假设它是 %USERPROFILE%\Documents 是否安全?
可以在此处找到环境变量的完整参考,在microsoft 站点上,它也可以在注册表项中找到。
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders
String value: Personal
Run Code Online (Sandbox Code Playgroud)
如果 My Documents 文件夹不在标准位置,从注册表项中提取信息可能是最可靠的方法。
小智 7
所以我的最终版本是这样的:
FOR /F "tokens=3 delims=" %%G IN ('REG QUERY "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "Personal"') DO (SET docsdir=%%G)
其中 delims= 和以下 " 之间的字符是单个制表符。确保您的编辑器发出制表符而不是空格。
编辑:在 Windows 7(也可能是所有窗口)上,您根本不应该指定 delims= ,因为它默认为令牌之间使用的空格,而不仅仅是选项卡。
这将是系统知道的地方(尽管它是 XP 中的“我的文档”),但是您必须自己判断这对于您的环境来说是否是一个安全的假设。但是,如果您使用“我的文档”重定向,则该变量应设置为您重定向到的任何内容,默认设置为 c:\documents 和 settings[username](在 XP 中)或 c:\users[username](在 Vista 中)。
归档时间: |
|
查看次数: |
13958 次 |
最近记录: |