추천, 2024

에디터의 선택

수정 된 작업이 .BAT 파일에 대해 실행되지 않음

.BAT 파일이 있고 Windows의 작업 스케줄러를 사용하여 자동으로 실행하려고하는 경우 작업을 수동으로 실행하지 않으면 단순히 실행되지 않는 문제가 발생했을 수 있습니다.

나는 컴퓨터가 시작할 때마다 임시 폴더 안의 모든 것을 삭제하는 배치 파일을 만들었다. 작업 스케줄러에서 기본 작업을 만들고 최상의 작업을 원했습니다. 불행히도, 내 컴퓨터가 부팅 될 때 아무 일도 없었습니다. 많은 시행 착오 끝에 스크립트를 실행하는 방법을 알아 냈습니다.

이 기사에서는 수동 개입없이 배치 파일을 실행하기 위해 조정해야하는 설정 및 권한을 설명합니다.

1 단계 : 파일 / 폴더 권한 확인

이 문제를 해결하기위한 첫 번째 단계는 작업 스케줄러에서 스크립트를 실행하는 데 사용하는 계정에 스크립트, 스크립트 자체 및 실행시 스크립트가 접하는 모든 폴더 / 파일이 포함 된 폴더에 대한 모든 권한이 있는지 확인하는 것입니다.

예를 들어, 아래 배치 스크립트를 만들었습니다.

 "%% i"/ s / q || del "% / i"(dir / b) do (rmdir "%% i"/ s / q || del "% % i "/ s / q) 

.BAT 파일을 내 문서 폴더에 저장했습니다. 경로는 C : \ Users \ username \ Documents 입니다. 나는 C : \ Users \ username에 가서 Documents 폴더를 오른쪽 클릭하고 Properties를 클릭했다. 그런 다음 보안 탭을 클릭했습니다.

보시다시피, 사용자 계정 Aseem 은 명시 적으로 추가되었으며 모든 권한을 부여 받았습니다. 이제 스크립트가 들어있는 폴더와 스크립트 자체에 대해 동일한 작업을 수행해야합니다. 스크립트가 들어있는 폴더에 권한을 주면 좋다고 생각하지 마십시오. 그렇지 않아도 좋습니다. 마지막으로 스크립트가 상호 작용할 모든 파일 및 폴더에 대한 사용 권한을 설정하십시오.

필자의 경우 C : \ test 로 가서 해당 폴더를 마우스 오른쪽 버튼으로 클릭하고 거기에 모든 권한을 가진 사용자 계정을 추가해야했습니다. 일을 성가 시게하는 것은 짜증나지만 스크립트를 실행하는 유일한 방법입니다.

참고 : 스크립트를 실행하는 데 사용되는 계정은 컴퓨터의 로컬 관리자 그룹에 속해야합니다. 필자의 경우, Aseem 계정은 관리자 계정이므로 로컬 Administrators 그룹의 일부입니다.

2 단계 : 작업 스케줄러 설정 확인

이제 작업 스케줄러로 가서 적절한 설정을 변경하십시오. 작업 스케줄러를 열고 활성 작업 섹션에서 작업을 찾으십시오. 그들은 알파벳순으로 나열되어야합니다.

두 번 클릭하면 동일한 창에서 작업이 단독으로 열립니다. 작업을 편집하려면 작업을 마우스 오른쪽 버튼으로 클릭하고 속성을 선택해야합니다.

몇 가지 탭이 있으며 여기에서 몇 가지 사항을 확인하고 변경해야합니다. 첫째, 일반 탭에서 작업을 실행하는 데 사용중인 사용자 계정을 확인해야합니다. 제 경우에는 Aseem 계정 입니다.이 계정은 이전에 파일 시스템에서 사용 권한을 주었고 컴퓨터의 Administrators 그룹에 속합니다.

그런 다음 사용자가 로그온했는지 여부 를 선택하고 Windows Vista, Windows Server 2008구성 대상 상자에서 선택해야합니다.

작업 탭에서 스크립트를 선택하고 편집을 클릭 한 다음 시작 (선택 사항) 상자 스크립트가 들어있는 폴더 경로를 추가 하십시오 . 이것은 불필요한 것처럼 보일 수 있지만 그렇지 않습니다. 제 경우에는 상자에 C : \ Users \ Aseem \ Documents \ 를 넣었습니다.

이제 확인 을 클릭하여 설정을 저장하십시오. 이렇게하면 작업을 실행할 사용자 계정의 암호를 입력해야하는 대화 상자가 나타날 수 있습니다. 이것은 또 다른 요구 사항을 제기합니다. 암호가없는 계정은 사용할 수 없습니다. 작업을 실행하려면 사용자 계정에 암호가 있어야합니다.

마지막으로 작업 스케줄러에서 작업을 수동으로 실행하여 실행되는지 확인해야합니다. 모든 설정을 변경 한 후 수동으로 정상적으로 실행되면 트리거 될 것으로 예상되는 시점에 실행되어야합니다. 필자의 경우 시작시에 발생하게되어 있었고 변경 한 후에 모든 것이 잘 동작했습니다.

스크립트가 실행될 때 도메인의 다른 컴퓨터에 액세스하는 경우 도메인 관리자 계정을 사용하여 작업을 실행해야합니다. 이렇게하면 계정에 원격 컴퓨터에 액세스 할 수있는 충분한 권한이 부여됩니다.

스크립트가 네트워크 공유에있는 리소스에 액세스하는 경우에주의해야 할 또 다른 항목입니다. 스크립트가 네트워크에 액세스하기 위해 글자를 사용하면 스크립트가 실행되지 않을 수 있습니다. 예를 들어, F : \ data \ 대신 스크립트에서 \\ machinename \ share_name \ data \ 를 사용해야합니다. 그래도 스크립트를 실행할 수 없으면 여기에 의견을 게시하면 도움을 드리겠습니다. 즐겨!

Top