在Windows操作系统32位上使用%PROGRAMFILES(x86)%

当我在32位Windows操作系统上使用环境variables%PROGRAMFILES(x86)%时,会发生什么情况(比如Windows XP,Vista等旧版Windows)?

我希望它只会解决: C:/Program Files 。 这会发生吗?

据此,环境变量%PROGRAMFILES(x86)%仅在64位系统上可用。

但是,如果您在64位系统上使用%PROGRAMFILES% ,则得到的结果取决于请求环境变量的进程是32位还是64位。

因此,从64位系统上的64位进程,您将获得C:\Program Files ,从64位系统上的32位进程获得C:\Program Files (x86) ,并从32在32位系统上你将得到C:\Program Files

如果这没有帮助,也许你可以评论或编辑你的原始问题,使其具体你想要做什么。 就目前来看,你的问题的答案是“不”。

基思希尔 在这里回答了这个问题,总结:

${env:ProgramFiles(x86)}未在32位机器上定义

如果您始终想要将数据放入/从x86目录中获取数据,则可以使用此代码来确定文件路径:

 $file = "\file" if ("${Env:ProgramFiles(x86)}") { $fullPath = "${Env:ProgramFiles(x86)}\$file" } else { $fullPath = "${Env:ProgramFiles}\$file" } 

如果您在32位计算机/笔记本电脑上使用%programfiles% ,则会打开C:\Program Files

如果您在64位计算机/笔记本电脑上使用%programfiles% ,它将打开C:\Program Files

如果在32位计算机/笔记本电脑上安装了64位程序,则它将安装在位于“C”驱动器中的名为Program Files (x64)的新文件夹中。 在这种情况下,您必须使用%programfiles(x64)

如果在64位计算机/笔记本电脑上安装了32位程序,则它将安装在位于“C”驱动器中的名为Program Files (x86)的新文件夹中。 在这种情况下,您必须使用%programfiles(x86)