今天使用bat进行文件解压,直接点击可以执行,但是用java调用就无法执行了。开始用的%cd%,获得的相对路径会随着打开方式不同会变。
修改之后,获取正确的路径
bat代码
@echo off
setlocal enabledelayedexpansion
set "var=%~dp0"
start winrar x !var!\temp.rar -y "!var!\"
java代码
public static void main(String[] args)
{
String command="D:/../Desktop/batTest/rar.bat";
//cmd /c start F:\\database_backup\\ngx_backup\\"+ batName + ".bat"
try
{
Process p=Runtime.getRuntime().exec(command);
BufferedReader br=new BufferedReader(new InputStreamReader(p.getInputStream(), "GBK"));//注意中文编码
/* Scanner scErrOut = new Scanner(p.getInputStream(), "GBK");
if(scErrOut.hasNextLine())
{
System.out.println(scErrOut.nextLine());
}*/
String line;
while((line=br.readLine())!=null)
{
System.out.println("startlog=>"+line);
}
br.close();
}
catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}