2011-09-12 3 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%)"으로 사용했다. 잘 실행되었는데,이 코드를 자바 프로그램에서 사용할 때 완전히 동작하지 않는다. 첫 번째 명령이 실행됩니다. 나는이 같은이 명령을 사용하여 내 자바 코드에서 단일 명령 줄 프롬프트를 사용하여 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 시작 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

관련 문제