2011-01-25 75 views
8

我拥有我正在继承的批处理文件,我无法在64位Windows 7环境中工作。批处理文件调用一个java脚本,并在其中传递两个变量。旧的看起来是这样的:批处理文件中的Windows 7 32位程序文件路径问题

C:\Progra~1\salesf~1.com\ApexDa~2.0\bin\process.bat  C:\Progra~1\*PATH*  *VARIABLE* 

这是运行onm 32位XP只有一个程序文件。我尽我所能想方设法改变Programme fiels x86之路。我试过SET PATH,SET ExecPath,%ProgrmaFiles(x86),但它们都返回找不到指定的路径。我相信答案很简单,而且我知道这样做有很多不确定的方法,并且会改变,但目前我需要这样做。任何帮助,非常感谢。

+0

你确定在Windows 64位上有dos(/ short)路径名吗? – Christian 2011-01-25 17:14:01

+0

@Christian,它们在文件系统驱动程序中作为硬链接实现。虽然它可以被禁用(并且对于某些情况应该是),但它仍然是默认启用的。 – Joey 2011-01-25 21:41:30

回答

27

如果键入

dir /x c:\ 

那么这显示了在8.3格式的目录列表。 Program Files扩大到PROGRA~1Program Files (x86)扩大到PROGRA~2。所以我认为你需要改变脚本来使用PROGRA~2

编辑:我同意马克,这是不理想的 - 这取决于你有多少能够改变遗留脚本。在Win7机器上,您应该可以使用%ProgramFiles%%ProgramFiles(x86)%(注意尾随'%')。

+0

非常感谢,那是 – KCavon 2011-01-25 18:03:40

1

出口JAVA_HOME =/cygdrive/C/PROGRA〜1/JAVA/jdk1.7.0_40/

这为我工作。