2012-02-16 4 views
2

인 경우 특정 탐색기 설정에 대해 .bat 토글 러를 만들려고합니다. 이렇게하려면 레지스트리 파일의 데이터를 쿼리 한 다음 이에 따라 키를 설정하는 배치 파일이 필요합니다. 예를 들어, 액션 스크립트 3, 자바 스크립트에이는 다음과 같다 :배치 파일 : 레지스트리 키의 데이터가

if (HideFileExt == "00000000"){ 
    HideFileExt = 00000001; 
else { 
    HideFileExt = 00000000; 
} 

이 방법은 그것이 현재 무엇의 반대로 키의 데이터를 설정합니다 실행될 때마다 - toggler .

나는 광범위하게이 구글-D와 베과 접합 여러 예제 꽤 오랜 시간이 지나면이, ​​나는 결국이있어 :

ERROR: Invalid syntax. 
Type "REG QUERY /? for usage. 
num 1 

경우 : 오류를 반환

REG QUERY HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced /v HideFileExt /t REG_DWORD /d 00000000 

if errorlevel 1 (
    echo Num 1 
) else (
    echo Num 2 
) 

rem The "echo Num"s are there just so that I could eventually figure out what the errorlevel does 

내가 REG QUERY에서 /d 00000000을 제거한 다음 키의 정확한 데이터 값을 오류없이 반환합니다. 나는 또한 /d 0, /d 0x0/d 0x00000000으로 시도했으며 그 중 하나도 작동하지 않았습니다.

답변

3

데니스의 대답은 정확하지만 당신이 볼 수 있도록 나는 id는 전체 배치 파일을 붙여 넣을 생각했다 그것은 모두 작동합니다.

REG QUERY "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "HideFileExt" | Find "0x0" 
IF %ERRORLEVEL% == 1 goto turnoff 
If %ERRORLEVEL% == 0 goto turnon 

goto end 
:turnon 
REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v 

HideFileExt /t REG_DWORD /f /D 1 
goto end 

:turnoff 
REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v 

HideFileExt /t REG_DWORD /f /D 0 
goto end 

:end 
@exit 
+0

정말 대단합니다! 고맙습니다! : D –

+0

고맙습니다. 하나의 질문 -'goto : end'를 사용하고'goto : eof' 대신'exit'를 사용한 특별한 이유가 있습니까? – Hashim

+0

나는 단지 이것이 적어도 나에게는 적합하지 않다는 것을 알리고 싶었다. 나는'reg' 명령이 한 줄에 있는지 확인해야했습니다. 각각을 두 개로 나눠서 스크립트가 나를 실패하게 만들었습니다. 이 답변에 대한 투표 및 의견 부족으로 인해 다른 사람들의 마일리지가 달라 졌거나 다른 것을 놓친 것 같아요. 어느 쪽이든, 다시 한번 감사드립니다. – Hashim

8

/d 스위치는 생각하지 않습니다. 검색 패턴을 지정하는 데 사용되는 /f 스위치의 수정 자입니다. 죄송 합니다만 /v은 이미 검색 패턴을 정의하고 있습니다.

HideFileExt0로 설정되어 있는지 확인하려면 할 수 있습니다 파이프 reg의 결과 find에 :

reg query HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced /v HideFileExt | find "0x0" 
if errorlevel 1 echo "HideFileExt is 0" 
if errorlevel 0 echo "HideFileExt is not 0" 
+0

데니스. 당신의 대답은 좋았지 만, 스미스 마트에게 그 점수를 주어야한다는 느낌이 들었습니다. 하지만 모두 고마워! :) –

관련 문제