%PUBLICDOCUMENTS% 在哪里?(shell:Common Documents)?

%PUBLICDOCUMENTS% 在哪里?(shell:Common Documents)?

我需要一个扩展来提供公共文档的当前位置。 %PUBLIC%扩展为 C:\Users\Public,但我还没有找到任何公共文档的等效项。

%PUBLICDOCUMENTS%、、%COMMONDOCUMENTS%%SHAREDDOCUMENTS%无法被 Windows 7 识别。我的公共文档文件夹通常不在 %PUBLIC%\Documents,所以我无法使用它。

有没有我可以使用的一个?(有没有完整的列表?set在命令行运行不会显示%PUBLIC%,但我知道它存在。还有其他没有出现的吗set?)

答案1

公共文档没有环境变量。我认为你有两个选择:

  1. 自己创建一个变量并手动设置值
  2. 当批处理文件运行时,您可以动态地找出答案(我推荐这样做)

供选择1,只需创建一个变量并将值设置为C:\Users\Public。参见这个问题有关环境变量的更多详细信息。

供选择2,只需将注册表值中的值读取HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\Common Documents到变量中然后使用它。

这是执行此操作的命令(来源:http://www.robvanderwoude.com/ntregquery.php

FOR /F "tokens=3*" %%A IN ('REG.EXE QUERY "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /V "Common Documents" 2^>NUL ^| FIND "REG_SZ"') DO SET CommonDocs=%%B

输出:

在此处输入图片描述

相关内容