批处理文件中的Windows 7 32位程序文件路径问题

KCa*_*von 8 windows path batch-file

我有继承的批处理文件,我无法在64位Windows 7环境中工作.批处理文件调用java脚本,并在其中传递两个变量.旧的看起来像这样:

 C:\Progra~1\salesf~1.com\ApexDa~2.0\bin\process.bat     C:\Progra~1\*PATH*     *VARIABLE*
Run Code Online (Sandbox Code Playgroud)

这是在32位XP上运行的,它只有一个程序文件.我已经尝试了各种方法来改变程序fiels x86的路径.我已经尝试过SET PATH,SET ExecPath,%ProgrmaFiles(x86),但它们都返回找不到指定的路径.我确信答案很简单,而且我知道有很多方法可以做到这一点,它会被改变,但目前,我需要这个工作.任何帮助,非常感谢.

the*_*ill 28

如果你输入

 dir /x c:\
Run Code Online (Sandbox Code Playgroud)

然后,这将显示8.3格式的目录列表. Program Files扩展到PROGRA~1Program Files (x86)扩展到PROGRA~2.所以我认为您需要更改要使用的脚本PROGRA~2

编辑:我同意马克认为这不太理想 - 这取决于你能够改变遗留脚本的程度.在Win7机器上,你应该能够使用%ProgramFiles%%ProgramFiles(x86)%(注意尾随'%').

  • 这很危险.~1和~2不一定映射到`Program Files`或`Program Files(x86)`.它可能适用于99%的机器,但代字号缩写只是意味着"第一个以"Progra"开头的文件夹,并且"第一"没有明确的含义. (2认同)