我正在尝试为某些资源管理器设置制作.bat切换器.为此,我需要批处理文件来查询注册表项的数据,然后相应地设置密钥.例如,在ActionScript 3或JavaScript中,它将是这样的:
if (HideFileExt == "00000000"){
HideFileExt = 00000001;
else {
HideFileExt = 00000000;
}
Run Code Online (Sandbox Code Playgroud)
这样,每次运行时,它都会将密钥的数据设置为与当前目标相反的数据 - 切换器.
我广泛使用Google-d,经过相当长的时间切割和拼接多个示例,我最终得到了这个:
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
Run Code Online (Sandbox Code Playgroud)
返回错误:
ERROR: Invalid syntax.
Type "REG QUERY /? for usage.
num 1
Run Code Online (Sandbox Code Playgroud)
如果我/d 00000000从那里删除REG QUERY它,它会返回密钥的准确数据值而不会出错.我也有尝试过/d 0,/d 0x0而且/d 0x00000000他们也不能工作.
该/d交换机不会做你的想法.它是/f交换机的修饰符,用于指定搜索模式.不幸的是,/v已经定义了搜索模式,并且它们不相处.
要检查是否HideFileExt设置为0,您可以将管道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"
Run Code Online (Sandbox Code Playgroud)
丹尼斯的答案是正确的,但我认为我会粘贴整个批处理文件,以便您可以看到它全部正常工作。
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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
38873 次 |
| 最近记录: |