0

我看到这篇文章https://stackoverflow.com/a/5169864/2065006

所以我想我会做实验。有更多经验的人可以解释这些结果吗?

>>> import win32com.client
>>> shellobject = win32com.client.Dispatch("Wscript.Shell")
>>> print (shellobject.SpecialFolders("ProgramFiles"))

>>> print (shellobject.SpecialFolders("Common AppData"))

>>> print (shellobject.SpecialFolders("AppData"))
F:\Documents and Settings\Randy1\Application Data
>>> print (shellobject.SpecialFolders("My Music"))

>>> print (shellobject.SpecialFolders("MyMusic"))

>>> print (shellobject.SpecialFolders("AppData"))
F:\Documents and Settings\Randy1\Application Data
4

1 回答 1

1

根据 MSDN,SpecialFolders 属性

可以使用以下特殊文件夹:

  • 所有用户桌面
  • 所有用户开始菜单
  • 所有用户程序
  • AllUsersStartup
  • 桌面
  • 收藏夹
  • 字体
  • 我的文件
  • 网罩
  • 打印罩
  • 程式
  • 最近的
  • 发送至
  • 开始菜单
  • 启动
  • 模板

虽然上面的列表似乎不完整,例如 AppData 也是可用的。我们仍然可以得出结论:某些特殊文件夹不可用。

我们可以在Windows Script HostWshShell中试验对象,它比.win32com

var shell = new ActiveXObject("WScript.Shell");
WScript.Echo(shell.SpecialFolders("ProgramFiles"));
WScript.Echo(shell.SpecialFolders("AppData"));

shell.SpecialFolders("ProgramFiles")也是一个空字符串。

于 2013-02-13T12:35:40.163 回答