在我的一个同事机器上,如果你只是寻找java,你可以找到它:
c:\>where java
C:\Windows\system32\java.exe
但是,如果我在perl中进行此测试:
c:\>perl -e "print (-e 'c:\\windows\\system32\\java.exe' ? 'found' : 'not found')"
not found
(这在我的机器上运行正常)。我已经听说过某种奇怪的缓存,文件被伪装入,所以它们可以工作,但我不知道它可以被调用什么,而且我用Google搜索没有任何帮助。
答案 0 :(得分:0)
正如Andrew Medico对问题的评论所述,问题是运行32位perl引起的混乱。
有问题的系统有“c:\ windows \ system32 \ java.exe”,但没有“c:\ windows \ syswow64 \ java.exe”。如果“c:\ windows \ system32 \ java.exe”似乎不存在,我可以通过查找“c:\ windows \ sysnative \ java.exe”来解决我的问题。
我发现这个描述非常有用:
http://www.samlogic.net/articles/32-64-bit-windows-folder-x86-syswow64.htm