2012-04-05 2 views
2

java의 "runtime.exec"을 사용하여 배치 파일을 실행합니다. Java 자체를 통해 생성 된 배치 파일. 내 쿼리는 런타임에 생성 된 배치 파일이 내 컴퓨터 (XP)와 Windows Server 2008 R2에서 잘 실행됩니다. 그러나 Windows Server 2003에서 배치 파일은 볏이 나지만 실행되지 않습니다. 하지만 배치 파일을 두 번 클릭하면 실행됩니다.Java Windows 서버 2003 대 Windows 서버 2008의 배치 파일 문제 실행

Process process = runtime.exec("cmd /c start /b "+batchFile.getPath()); 

답변

2

그것은 2003

방법 1cmd.exe 프로그램 읽기를 부여하고 사용자 계정에 대한 권한을 실행하기 때문에 윈도우 서버에 cmd.exe에서 일괄 처리를 실행하는 데 필요한 관리자 권한 (부족)이 될 수 있습니다 배치 작업이 실행됩니다. 이렇게하려면 다음과 같이하십시오.

  1. 시작을 클릭 한 다음 Windows 탐색기를 클릭하십시오.
  2. 찾은 다음 cmd.exe 파일을 마우스 오른쪽 단추로 누릅니다. Cmd.exe 파일은 %windir%\System32 폴더에 있습니다.
  3. 속성을 클릭하십시오.
  4. 보안 탭을 클릭하십시오.
  5. 추가를 클릭하십시오.
  6. 선택할 개체 이름을 입력하십시오. 상자에 일괄 작업이 실행되는 사용자 이름을 입력 한 다음 확인을 두 번 누릅니다.

참고 사용자를 추가하면 사용자에게 자동으로 읽기 및 실행 권한이 부여됩니다. 7. 계속할 것인지 묻는 메시지가 나타나면 예를 누릅니다. 배치 그룹에 cmd.exe 파일

방법 2 부여 읽기 및 실행 권한을 설정합니다. 이렇게하면 모든 배치 프로세스가 명령 프로세서를 실행할 수 있습니다. 이렇게하려면 다음과 같이하십시오.

  1. 시작을 클릭 한 다음 Windows 탐색기를 클릭하십시오.
  2. 찾은 다음 cmd.exe 파일을 마우스 오른쪽 단추로 누릅니다. cmd.exe 파일은 %windir%\System32 폴더에 있습니다.
  3. 속성을 클릭하십시오.
  4. 보안 탭을 클릭하십시오.
  5. 추가를 클릭하십시오.
  6. 선택할 개체 이름을 입력하십시오. 상자에 Batch를 입력 한 다음 확인을 두 번 누릅니다.
  7. 계속할지 묻는 메시지가 나타나면 예를 클릭하십시오.

자세한 내용은 다음 Microsoft KB 문서를 참조하십시오

"Access is denied" error message when you run a batch job on a Windows Server 2003-based computer

관련 문제