Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 如何验证regedit结果?_Batch File_Regedit - Fatal编程技术网

Batch file 如何验证regedit结果?

Batch file 如何验证regedit结果?,batch-file,regedit,Batch File,Regedit,如何验证regedit查询请求的值 REG QUERY "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Power" /V "HiberbootEnabled" IF result == 1 goto turoff IF result == 0 goto turnon 使用或筛选所需的行,然后使用for/f读取输出 for/f“tokens=3”%%v in('REG QUERY“HKLM\SYSTEM\CurrentContro

如何验证regedit查询请求的值

REG QUERY "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Power" /V "HiberbootEnabled" 
IF result == 1 goto turoff
IF result == 0 goto turnon
使用或筛选所需的行,然后使用
for/f
读取输出

for/f“tokens=3”%%v in('REG QUERY“HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Power”/v“HiberbootEnabled”^ | find“HiberbootEnabled”')do set result=%v
如果“%result%”==“0x1”(
关掉
)否则(
打开
)
使用或过滤所需的行,然后使用
for/f
读取输出

for/f“tokens=3”%%v in('REG QUERY“HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Power”/v“HiberbootEnabled”^ | find“HiberbootEnabled”')do set result=%v
如果“%result%”==“0x1”(
关掉
)否则(
打开
)

如果您只是想在
1
0
之间切换值,那么这些方法可能适合您(只要您有访问/修改值数据的适当权限)

@Echo关闭
设置“DWord=”
对于/F“令牌=3”%%A,在('
Reg Query“HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Power”/V“HiberbootEnabled”2^>Nul
')Do 2>Nul Set/A DWord=1-%%A
如果定义了DWord Reg,则添加“HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Power”/V“HiberbootEnabled”/T Reg\u DWord/D%DWord%/F>Nul

如果您只是想在
1
0
之间切换值,那么这些方法可能适合您(只要您有访问/修改值数据的适当权限)

@Echo关闭
设置“DWord=”
对于/F“令牌=3”%%A,在('
Reg Query“HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Power”/V“HiberbootEnabled”2^>Nul
')Do 2>Nul Set/A DWord=1-%%A
如果定义了DWord Reg,则添加“HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Power”/V“HiberbootEnabled”/T Reg\u DWord/D%DWord%/F>Nul

在万维网上可以找到很多关于如何更改Windows 8及更高版本Windows的快速启动设置的文章

这里还有一个已注释的批处理文件解决方案,必须以管理员身份运行:

@echo off
setlocal EnableExtensions DisableDelayedExpansion

for /F "skip=2 tokens=1-3" %%A in ('%SystemRoot%\System32\reg.exe query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Power" /v "HiberBootEnabled" 2^>nul') do (
    if /I "%%A" == "HiberBootEnabled" set /A "HiberBootEnabled=%%C" & goto EvaluateValue
)

for /F "delims=" %%I in ('ver') do set "WindowsVersion=%%I"
echo Fast startup (hibernate boot) setting not found in Windows registry.
echo/
echo %WindowsVersion% does not support fast startup.
goto EndBatch

:EvaluateValue
rem Toggle the hibernate boot setting.
if %HiberBootEnabled% == 0 (set "HiberBootEnabled=1") else set "HiberBootEnabled=0"

rem Change the hibernate boot setting in registry if batch file
rem is executed with elevated permissions of a local administrator.
%SystemRoot%\System32\reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Power" /f /v "HiberBootEnabled" /t REG_DWORD /d %HiberBootEnabled% >nul
if errorlevel 1 goto ErrorAddValue

if %HiberBootEnabled% == 0 (set "HiberBootEnabled=OFF") else set "HiberBootEnabled=ON"
echo Fast startup (hibernate boot) setting toggled %HiberBootEnabled%.
goto EndBatch

:ErrorAddValue
echo/
echo %~nx0 must be run as administrator to toggle the
echo fast startup (hibernate boot) setting in Windows registry.

:EndBatch
echo/
pause
endlocal
此批处理文件设计用于在Windows XP/Windows Server 2003和所有更新的Windows版本上执行。如果Windows由于不支持快速启动而没有双字注册表值
HiberBootEnabled
,则无法执行任何操作。如果批处理文件是在没有本地管理员提升权限的情况下执行的,则该批处理文件对
HKEY\U local\U MACHINE
registry配置单元的写访问权限是必需的

这里还有一个优化版本,使用简单而伟大的方法从
1
中减去双字的当前值,以切换双字,正如他在回答中所发布的那样

@echo off
setlocal EnableExtensions DisableDelayedExpansion

for /F "skip=2 tokens=1-3" %%A in ('%SystemRoot%\System32\reg.exe query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Power" /v "HiberBootEnabled" 2^>nul') do (
    if /I "%%A" == "HiberBootEnabled" set /A "HiberBootEnabled=1-%%C" & goto ToggleValue
)

for /F "delims=" %%I in ('ver') do set "WindowsVersion=%%I"
echo Fast startup (hibernate boot) setting not found in Windows registry.
echo/
echo %WindowsVersion% does not support fast startup.
goto EndBatch

:ToggleValue
rem Change the hibernate boot setting in registry if batch file
rem is executed with elevated permissions of a local administrator.
%SystemRoot%\System32\reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Power" /f /v "HiberBootEnabled" /t REG_DWORD /d %HiberBootEnabled% >nul
if errorlevel 1 goto ErrorAddValue

if %HiberBootEnabled% == 0 (set "HiberBootEnabled=OFF") else set "HiberBootEnabled=ON"
echo Fast startup (hibernate boot) setting toggled %HiberBootEnabled%.
goto EndBatch

:ErrorAddValue
echo/
echo %~nx0 must be run as administrator to toggle
echo the hibernate boot setting in Windows registry.

:EndBatch
echo/
pause
endlocal
根据以下建议,最好是第五行:

即使当前值大于
1
,此行也会将
HiberBootEnabled
设置为
0

要了解所使用的命令及其工作方式,请打开命令提示符窗口,在其中执行以下命令,并非常仔细地阅读为每个命令显示的所有帮助页面

  • 呼叫/?
    。。解释
    %~nx0
    (具有扩展名的批处理文件的名称)
  • echo/?
  • endlocal/?
  • 获取/?
  • goto/?
  • 如果/?
  • 暂停/?
  • reg/?
  • reg添加/?
  • reg query/?
  • rem/?
  • 设置/?
  • setlocal/?

在万维网上可以找到很多关于如何更改Windows 8及更高版本Windows的快速启动设置的文章

这里还有一个已注释的批处理文件解决方案,必须以管理员身份运行:

@echo off
setlocal EnableExtensions DisableDelayedExpansion

for /F "skip=2 tokens=1-3" %%A in ('%SystemRoot%\System32\reg.exe query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Power" /v "HiberBootEnabled" 2^>nul') do (
    if /I "%%A" == "HiberBootEnabled" set /A "HiberBootEnabled=%%C" & goto EvaluateValue
)

for /F "delims=" %%I in ('ver') do set "WindowsVersion=%%I"
echo Fast startup (hibernate boot) setting not found in Windows registry.
echo/
echo %WindowsVersion% does not support fast startup.
goto EndBatch

:EvaluateValue
rem Toggle the hibernate boot setting.
if %HiberBootEnabled% == 0 (set "HiberBootEnabled=1") else set "HiberBootEnabled=0"

rem Change the hibernate boot setting in registry if batch file
rem is executed with elevated permissions of a local administrator.
%SystemRoot%\System32\reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Power" /f /v "HiberBootEnabled" /t REG_DWORD /d %HiberBootEnabled% >nul
if errorlevel 1 goto ErrorAddValue

if %HiberBootEnabled% == 0 (set "HiberBootEnabled=OFF") else set "HiberBootEnabled=ON"
echo Fast startup (hibernate boot) setting toggled %HiberBootEnabled%.
goto EndBatch

:ErrorAddValue
echo/
echo %~nx0 must be run as administrator to toggle the
echo fast startup (hibernate boot) setting in Windows registry.

:EndBatch
echo/
pause
endlocal
此批处理文件设计用于在Windows XP/Windows Server 2003和所有更新的Windows版本上执行。如果Windows由于不支持快速启动而没有双字注册表值
HiberBootEnabled
,则无法执行任何操作。如果批处理文件是在没有本地管理员提升权限的情况下执行的,则该批处理文件对
HKEY\U local\U MACHINE
registry配置单元的写访问权限是必需的

这里还有一个优化版本,使用简单而伟大的方法从
1
中减去双字的当前值,以切换双字,正如他在回答中所发布的那样

@echo off
setlocal EnableExtensions DisableDelayedExpansion

for /F "skip=2 tokens=1-3" %%A in ('%SystemRoot%\System32\reg.exe query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Power" /v "HiberBootEnabled" 2^>nul') do (
    if /I "%%A" == "HiberBootEnabled" set /A "HiberBootEnabled=1-%%C" & goto ToggleValue
)

for /F "delims=" %%I in ('ver') do set "WindowsVersion=%%I"
echo Fast startup (hibernate boot) setting not found in Windows registry.
echo/
echo %WindowsVersion% does not support fast startup.
goto EndBatch

:ToggleValue
rem Change the hibernate boot setting in registry if batch file
rem is executed with elevated permissions of a local administrator.
%SystemRoot%\System32\reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Power" /f /v "HiberBootEnabled" /t REG_DWORD /d %HiberBootEnabled% >nul
if errorlevel 1 goto ErrorAddValue

if %HiberBootEnabled% == 0 (set "HiberBootEnabled=OFF") else set "HiberBootEnabled=ON"
echo Fast startup (hibernate boot) setting toggled %HiberBootEnabled%.
goto EndBatch

:ErrorAddValue
echo/
echo %~nx0 must be run as administrator to toggle
echo the hibernate boot setting in Windows registry.

:EndBatch
echo/
pause
endlocal
根据以下建议,最好是第五行:

即使当前值大于
1
,此行也会将
HiberBootEnabled
设置为
0

要了解所使用的命令及其工作方式,请打开命令提示符窗口,在其中执行以下命令,并非常仔细地阅读为每个命令显示的所有帮助页面

  • 呼叫/?
    。。解释
    %~nx0
    (具有扩展名的批处理文件的名称)
  • echo/?
  • endlocal/?
  • 获取/?
  • goto/?
  • 如果/?
  • 暂停/?
  • reg/?
  • reg添加/?
  • reg query/?
  • rem/?
  • 设置/?
  • setlocal/?

要在0和1之间切换,您还可以使用
Set/A“DWord=!%%A”
这两个选项都不如if明显,但我觉得更优雅。(+1)要在0和1之间切换,您还可以使用
Set/A“DWord=!%%A”
这两个选项都不如if明显,但我觉得更优雅。(+1)