1

抱歉,如果在某个地方回答了这个问题,一直在寻找 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"

然而,这是行不通的。

我想做的是:

(在批处理文件中)

  1. 打开一个新的命令提示符
  2. 将当前目录更改为 Test1.java 所在的目录
  3. 然后调用java编译器并让它编译Test1.java

另外,是否可以告诉命令从哪里开始,而不必将 CD 作为第一个命令?

谢谢,陶氏

4

2 回答 2

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
cmd /K "C:\Program Files (x86)\Java\jdk1.6.0_38\bin\javac.exe" -classpath TestLib.jar Test1.java

您当然可以使用绝对路径来指定您的类路径和 java 源文件并跳过目录更改。

于 2013-01-31T08:05:18.977 回答
0

要回答您的第二个问题,您可以使用pushd/popd. 顾名思义,这些允许存储当前目录,然后更改为给定路径(pushd path),然后popd弹出/恢复原始当前目录。如果您需要临时更改当前目录以进行某些处理,或者您希望保护您的代码免受不必要的目录更改(例如,如果您调用另一个批处理),这将非常有用。它对网络路径也很方便,因为它会自动为其创建驱动器号。Help pushd会给你完整的信息。

于 2013-01-31T09:37:15.077 回答