2017-04-08 2 views
0

일부 레지스트리 값에 따라 특정 작업을 수행하기 위해 배치 파일을 사용해야하는 경우가 있습니다. 수동으로 배치 파일을 실행하면 목표를 달성하고 실행할 수 있습니다. 그러나 실행 파일을 사용하여 일괄 처리를 실행하면 레지스트리 값을 가져올 수 없습니다. 모든 레지스트리 값을 비어있는 것으로 읽습니다. 이 동작에 대한 특별한 이유는 없습니다. 실제 요구 사항은 자동 압축 풀기 실행 파일의 일부로이 배치 파일을 실행하는 것입니다. 나는 C# 응용 프로그램을 사용하여 시작했지만 여전히 운이 좋았습니다. 어떤 아이디어? 내가 도대체 ​​뭘 잘못하고있는 겁니까.배치 파일에서 레지스트리를 읽을 수 없습니다.

+0

코드를 게시하십시오. 그렇지 않으면이 게시물은 스택 오버플로 주제와 관련이 없습니다. – Compo

+2

대부분의 가능한 원인 : 실행 파일이 32 비트이기 때문에 배치 파일을 실행하는'cmd.exe'의 32 비트 인스턴스를 시작하므로 [레지스트리의 32 비트보기] (https : //msdn.microsoft.com/en-us/library/windows/desktop/aa384232 (v = vs.85) .aspx)가 필요합니다. [이 대답] (http://stackoverflow.com/a/27093204/886887) 행에있는 문제로 문제가 해결 될 수도 있습니다. –

+0

@ 해리 감사합니다. 그것이 실제 이유입니다. 실행 파일이 64 비트이지만 여전히 32 비트 레지스트리를 읽으려고합니다. 64 비트 레지스트리를 강제로 읽어야했습니다. – dev

답변

0

실행 권한 (관리자 권한으로 실행)을 높이십시오.

+0

관리자 권한으로 실행을 시도했지만 작동하지 않았습니다. 명령 프롬프트를 사용하여 일괄 처리를 실행하면 관리자 권한없이 간단하게 실행할 수 있습니다. 그래서 이것은 문제가되지 않습니다. – dev

관련 문제