2011-09-12 42 views
0

我试图在单个命令行提示符下执行多个命令。在这里我需要隐藏目录。我用这个命令"C:\Windows\System32>cacls C:\Users\FSSD\Desktop\test1 /e /c /d %username% & cacls C:\Users\FSSD\Desktop\test3 /e /c /d %username% & cacls C:\Users\FSSD\Desktop\test3 /e /c /d %username%)"在commad中提示它执行得很好,当我在我的java程序中使用这个代码时,它并不完全工作。第一个命令将被执行。如何在单个命令行提示符的帮助下在java代码中执行多个命令?

在我的Java代码,我像这样使用这个命令,

Runtime runtime = Runtime.getRuntime(); 
    try { 
     Process process = runtime 
       .exec("cmd.exe /c start cacls C:/Users/FSSD/Desktop/test1 /e /c /d %username%) " + "&"+    
         " cacls C:/Users/FSSD/Desktop/test2 /e /c /d %username%" +"&"+ 
         " cacls C:/Users/FSSD/Desktop/test3 /e /c /d %username%"); 

    } catch (IOException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 
} 
在此

我做了什么错误,否则任何其他可能实现这个..

+0

你可以发布你正在执行的异常/堆栈跟踪吗? – Rakesh

+0

在我的控制台中没有异常消息,第一个cmd(cmd.exe/c start cacls C:/ Users/FSSD/Desktop/test1/e/c/d%username%))只执行 – Aerrow

+0

我没有看到它与Java有关的方式。创建1.cmd并粘贴你的命令行,检查它是否可用。如果是这样的话,那么你的Java有一些东西,如果它不(最可能),它不是** Java相关的问题。 – agibalov

回答

1

你为什么不把那漫长命令转换为.bat.cmd文件并从Java中调用该文件?

1
.exec("cmd.exe /c start cacls C:/Users/FSSD/Desktop/test1 /e /c /d %username%) " + "&"+ 
______________________________________________________________________________^ 

这是干什么用的? (%username%)

+1

+1:此闭括号不会出现在其他行上。 ;) –

+0

我试过这个但没用, – Aerrow

相关问题