用于运行 java 命令的批处理文件
batch file for runing a java command
我必须 运行 对 windows 目录中的数百个 .docx 文件执行以下命令,以便将它们转换为 .txt。
java -jar tika-app-1.3.jar -t somedocfile.doc > converted.txt
我想知道是否有任何自动方法,例如编写“.bat”文件来执行此操作。
是的,您可以批量完成。为了帮助您,我没有想到一个示例,但是由于您无论如何都是 运行 java 命令,您也可以通过 java 来完成。这是一个示例,说明如何 运行 来自 java 的 CMD 命令。希望这有帮助。
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
try {
executeCMD("java -jar tika-app-1.3.jar -t " + <YOUR_DOC_FILE> + " > " + <TXT_NAME_OF_FILE> );
}catch(Exception e){
e.printStackTrace();
}
private void executeCMD(String command) throws Exception{
Process process = Runtime.getRuntime().exec(command);
printMsg(command + " stdout:", process.getInputStream());
printMsg(command + " stderr:", process.getErrorStream());
process.waitFor();
if(process.exitValue() != 0)
System.out.println(command + "exited with value " + process.exitValue());
}
private void printMsg(String name, InputStream ins) throws Exception {
String line = null;
BufferedReader in = new BufferedReader(new InputStreamReader(ins));
while((line = in.readLine()) != null){
System.out.println(name + " " + line);
}
}
更新
好的,这是我昨天想不到的更简单的批处理方式:D
for /r %%i in (*.doc) do java -jar tika-app-1.3.jar -t %%~ni > %%~ni.txt
它读取执行目录中的所有 *.doc 文件,“~n”也是为了仅列出文件名(在您的示例中 "somedocfile" ),否则它会做一些事情喜欢 "C://...../somedocfile.doc" 并且更改扩展名可能很烦人。
我必须 运行 对 windows 目录中的数百个 .docx 文件执行以下命令,以便将它们转换为 .txt。
java -jar tika-app-1.3.jar -t somedocfile.doc > converted.txt
我想知道是否有任何自动方法,例如编写“.bat”文件来执行此操作。
是的,您可以批量完成。为了帮助您,我没有想到一个示例,但是由于您无论如何都是 运行 java 命令,您也可以通过 java 来完成。这是一个示例,说明如何 运行 来自 java 的 CMD 命令。希望这有帮助。
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
try {
executeCMD("java -jar tika-app-1.3.jar -t " + <YOUR_DOC_FILE> + " > " + <TXT_NAME_OF_FILE> );
}catch(Exception e){
e.printStackTrace();
}
private void executeCMD(String command) throws Exception{
Process process = Runtime.getRuntime().exec(command);
printMsg(command + " stdout:", process.getInputStream());
printMsg(command + " stderr:", process.getErrorStream());
process.waitFor();
if(process.exitValue() != 0)
System.out.println(command + "exited with value " + process.exitValue());
}
private void printMsg(String name, InputStream ins) throws Exception {
String line = null;
BufferedReader in = new BufferedReader(new InputStreamReader(ins));
while((line = in.readLine()) != null){
System.out.println(name + " " + line);
}
}
更新
好的,这是我昨天想不到的更简单的批处理方式:D
for /r %%i in (*.doc) do java -jar tika-app-1.3.jar -t %%~ni > %%~ni.txt
它读取执行目录中的所有 *.doc 文件,“~n”也是为了仅列出文件名(在您的示例中 "somedocfile" ),否则它会做一些事情喜欢 "C://...../somedocfile.doc" 并且更改扩展名可能很烦人。