2012-02-16 12 views
2

の場合、特定のエクスプローラ設定に対して.batトグルラを作成しようとしています。これを行うには、レジストリキーのデータを照会し、それに応じてキーを設定するバッチファイルが必要です。例えば、ActionScriptの3またはJavaScriptでそれがこの線に沿って何かのようになります。バッチファイル:レジストリキーのデータが

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

この方法では、それはそれはそれは、現在あるものの対向するように、キーのデータを設定します実行するたび - トグラー。

私は広範囲にこれをGoogleが-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

ありがとう、これは素晴らしいソリューションです。 1つの質問 - 'goto:end'と' goto:eof'の代わりに 'exit'を使用する特別な理由はありますか? – Hashim

+0

私はちょうどこれが私のためではないように動作しないことを更新したいと思っていました。私は 'reg'コマンドが1行にあることを確認しなければなりませんでした。それぞれを2つに分割するとスクリプトが失敗しました。この回答が得た票とフォローアップのコメントの不足から、私は他の人々の走行距離が変化していると推測しています。いずれにしても、もう一度ありがとう。 – Hashim

8

/dスイッチはあなたの考えをしません。これは、/fスイッチの修飾子で、検索パターンを指定するために使用されます。残念ながら/vはすでに検索パターンを定義しており、それらは一致しません。

findHideFileExt0に設定されているかどうか、あなたができるパイプregの結果を確認するには:

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

デニスありがとうございます。あなたの答えはあまりにも良かったのですが、スミスマートに賞を授与しなければならないと感じました。しかし、同じことに感謝します! :) –

関連する問題