如果在某个地方得到回答,请道歉,一直在寻找30多分钟无济于事。
所以我有一个批处理文件,我在其中调用:
%comspec% /K "CD ..\..\test\java_6_86 & "C:\Program Files (x86)\Java\jdk1.6.0_38\bin\javac.exe" -classpath TestLib.jar Test1.java"
然而,这不起作用。
我想做的是:
(在批处理文件中)
另外,是否有可能告诉命令从哪里开始,而不是像第一个命令那样做CD?
谢谢, DOW
答案 0 :(得分:0)
我不知道你的%comspec%是什么,但是假设它是'cmd'这应该可以解决问题(cmd /K
必须在javac调用前面)
cd ..\..\test\java_6_86 & cmd /K "C:\Program Files (x86)\Java\jdk1.6.0_38\bin\javac.exe" -classpath TestLib.jar Test1.java
顺便说一句,两个班轮将更具可读性
cd ..\..\test\java_6_86
cdm /K "C:\Program Files (x86)\Java\jdk1.6.0_38\bin\javac.exe" -classpath TestLib.jar Test1.java
您当然可以使用绝对路径指定类路径和java源文件,并跳过目录更改。
答案 1 :(得分:0)
要回答第二个问题,您可以使用pushd/popd
。顾名思义,那些允许存储当前目录,然后更改为给定路径(pushd path
),然后popd
弹出/恢复原始当前目录。如果您需要临时更改当前目录以进行某些处理,或者希望屏蔽代码以防止不需要的目录更改(例如,如果您调用另一个批处理),这将非常有用。它也可以方便地使用网络路径,因为它会为它自动创建一个驱动器号。 Help pushd
将为您提供完整的信息。