cmd命令中遇到文件路径中含有空格

譬如文件路径:C:\Program Files\Java\j2sdk-1_4_2_19\bin

使用绝对地址调用Java命令时会报错:

E:\FSWorkSpace\learn\bin>C:\Program Files\Java\jdk1.6.0_45\bin\javap -c learn.Test
'C:\Program' 不是内部或外部命令,也不是可运行的程序
或批处理文件。


E:\FSWorkSpace\learn\bin>%programfiles%\Java\jdk1.6.0_45\bin\javap -c learn.Test
'C:\Program' 不是内部或外部命令,也不是可运行的程序
或批处理文件。


参考:http://zhidao.baidu.com/link?url=ujPCvtZhsaeSGebpiu6nBc1W9iSb9qjpdGaCjyN1KUppr2xdviwjqIxU2wAd8zSzmpfZTFoGSmKTPc3OpJM_7a

用DOS命名规则的缩写方式,即超过8个字符的文件名/文件夹名,缩写为前6个字母数字(如果前6个字母数字里也有空格,就忽略空格,最终是真正的字母数字有6个),再接“~”号,再接数字1,如果有两个文件前6个字母缩写下来完全一样,就一个是~1,另一个是~2,至于哪个是~1哪个是~2,没有细研究过。

使用

E:\FSWorkSpace\learn\bin>C:\Progra~1\Java\j2sdk-1_4_2_19\bin\javap -c learn.Test
Compiled from "Test.java"
public class learn.Test extends java.lang.Object{
public learn.Test();
  Code:
   0:   aload_0
   1:   invokespecial   #8; //Method java/lang/Object."<init>":()V
   4:   return

注:javap -c  类名 可以反编译查看.class文件内容,对了解jvm编译类文件有帮助。

你可能感兴趣的:(javap,cmd,文件路径中有空格)