1

注意:我使用的是 64 位系统。

我很难找到关于我目前情况的文章。我使用 PowerShell 测试是否存在某个路径:

"C:\Windows\SysWOW64\config\systemprofile\Desktop"

即使 SysWOW64 中不存在 Desktop 文件夹,它也会返回 true。我知道这与我确实有路径有关:

"C:\Windows\System32\config\systemprofile\Desktop"

但我不知道为什么。在上下文中,我正在自动化 Excel 中的一些东西(是的,我知道它不受支持,但是使用 Desktop 文件夹一切正常),我想在尝试继续自动化之前测试这两个路径是否存在。

我的问题是,是否有必要测试两条路径?如果我在其中一个路径中有桌面文件夹,Excel 自动化是否会工作,因为它们似乎以某种方式连接?

我看过这篇文章和这篇文章,这让我相信是的,但作为一名程序员,我很犹豫是否将这些东西如此紧密地结合在一起,以防它们在未来发生变化。有没有更优雅的解决方案?

4

1 回答 1

2

假设:

C:\Windows\SysWOW64\config\systemprofile\Desktop

存在,但是:

C:\Windows\System32\config\systemprofile\Desktop

才不是。

64 位 PowerShell:

Test-Path C:\Windows\SysWOW64\config\systemprofile\Desktop
True

Test-Path C:\Windows\System32\config\systemprofile\Desktop
False

32 位 PowerShell:

Test-Path C:\Windows\SysWOW64\config\systemprofile\Desktop
True

Test-Path C:\Windows\System32\config\systemprofile\Desktop
True

32 位 PowerShell 中的第二个测试从重定向system32syswow64. 检查syswow64通常不会重定向。

Test-Path C:\Windows\SysWOW64\config\systemprofile\Desktop即使该文件夹不存在,您也声称返回 true。你确定吗?

还有你的 Excel 组件的位数是多少,如果它是 32 位的,你只需要关心 SysWOW64 路径。

于 2015-06-18T04:37:52.117 回答