可能使其更感把64位应用程序到"Program Files文件(x64)的",并留下32位应用程序在"程序文件"跑?
我有一个需要运行Flex编译器的批处理文件.在x64中,该程序位于"Program Files(x86)"中.在Windows Vista 32位上,它位于"程序文件" - 环境变量中?核实:
ProgramFiles=C:\Program Files ProgramFiles(x86)=C:\Program Files (x86)
我该怎么办?
set mxmlc="%ProgramFiles(x86)%\Adobe\Flex Builder 3\sdks\3.1.0\bin\mxmlc.exe" if NOT EXIST %mxmlc% set mxmlc="%ProgramFiles%\Adobe\Flex Builder 3\sdks\3.1.0\bin\mxmlc.exe"
TNX
没什么.猜猜Windows\System32包含什么?没错,64位DLL文件.那么他们在哪里决定放置32位遗留DLL文件?\ Windows\SysWOW64当然.
问题是,虽然Windows应用程序有内置工具来发现系统目录的位置,但许多应用程序不使用它们.而且,由于Microsoft首先是向后兼容的奴隶,所以我们会得到像这样的愚蠢的东西.
为了使它便携:
SET ExecPath=%ProgramFiles(x86)% IF "%ExecPath%"=="" SET ExecPath=%ProgramFiles%