目录
- bat批处理常用命令
 - reg /?
 - reg query /?
 - cd /d "%~dp0"
 - %cd%和%~dp0的区别
 - setx命令(命令行实现永久设置环境变量)
 - /v名称,/t类型,/d数据
 - /f没有Yes/No询问
 
bat批处理常用命令
bat批处理常用命令
 
reg /?
查询有哪些reg命令
REG Operation [Parameter List]
  Operation  [ QUERY   | ADD    | DELETE  | COPY    |
               SAVE    | LOAD   | UNLOAD  | RESTORE |
               COMPARE | EXPORT | IMPORT  | FLAGS ]
返回代码: (除了 REG COMPARE)
  0 - 成功
  1 - 失败
要得到有关某个操作的帮助,请键入:
  REG Operation /?
例如:
  REG QUERY /?
  REG ADD /?
  REG DELETE /?
  REG COPY /?
  REG SAVE /?
  REG RESTORE /?
  REG LOAD /?
  REG UNLOAD /?
  REG COMPARE /?
  REG EXPORT /?
  REG IMPORT /?
  REG FLAGS /?
 
reg query /?
查询命令细节
REG QUERY KeyName [/v [ValueName] | /ve] [/s]
          [/f Data [/k] [/d] [/c] [/e]] [/t Type] [/z] [/se Separator]
          [/reg:32 | /reg:64]
  KeyName  [\\Machine\]FullKey
           Machine - 远程机器名称,省略当前机器的默认值。在远程机器上
                     只有 HKLM 和 HKU 可用。
           FullKey - 以 ROOTKEY\SubKey 名称形式
                ROOTKEY - [ HKLM | HKCU | HKCR | HKU | HKCC ]
                SubKey  - 在选择的 ROOTKEY 下的注册表项的全名
  /v       具体的注册表项值的查询。
           如果省略,会查询该项的所有值。
           只有与 /f 开关一起指定的情况下,此开关的参数才是可选的。它指定
           只在值名称中搜索。
  /ve      查询默认值或空值名称(默认)。
  /s       循环查询所有子项和值(如 dir /s)。
  /se      为 REG_MULTI_SZ 在数据字符串中指定分隔符(长度只为 1 个字符)。
           默认分隔符为 "\0"。
  /f       指定搜索的数据或模式。
           如果字符串包含空格,请使用双引号。默认为 "*"。
  /k       指定只在项名称中搜索。
  /d       指定只在数据中搜索。
  /c       指定搜索时区分大小写。
           默认搜索为不区分大小写。
  /e       指定只返回完全匹配。
           默认是返回所有匹配。
  /t       指定注册表值数据类型。
           有效的类型是:
             REG_SZ, REG_MULTI_SZ, REG_EXPAND_SZ,
             REG_DWORD, REG_QWORD, REG_BINARY, REG_NONE
           默认为所有类型。
  /z       详细: 显示值名称类型的数字等值。
 /reg:32  指定应该使用 32 位注册表视图访问的注册表项。
 /reg:64  指定应该使用 64 位注册表视图访问的注册表项。
示例:
  REG QUERY HKLM\Software\Microsoft\ResKit /v Version
    显示注册表值 Version 的值
  REG QUERY \\ABC\HKLM\Software\Microsoft\ResKit\Nt\Setup /s
    显示远程机器 ABC 上的、在注册表项设置下的所有子项和值
  REG QUERY HKLM\Software\Microsoft\ResKit\Nt\Setup /se #
    用 "#" 作为分隔符,显示类型为 REG_MULTI_SZ 的所有值名称的所有
    子项和值。
  REG QUERY HKLM /f SYSTEM /t REG_SZ /c /e
    以区分大小写的形式显示项、值和数据和数据类型 REG_SZ
    的、在 HKLM 更目录下的、"SYSTEM" 出现的精确次数
  REG QUERY HKCU /f 0F /d /t REG_BINARY
    显示在 HKCU 根目录下、数据类型为 REG_BINARY 的数据的项、值和
    数据的 "0F" 出现的次数。
  REG QUERY HKLM\SOFTWARE /ve
    显示在 HKLM\SOFTWARE 下的项、值和数据(默认)
 
cd /d “%~dp0”
cd 更改当前目录为
 %0代表批处理文件本身,如 a.bat
 ~dp是变量扩充,如 d:\qq。“d”为Drive的缩写,即为驱动器,磁盘。“p”为Path缩写,即为路径。
 
%cd%和%~dp0的区别
%cd%:bat执行的当前目录,需要注意的是,这里的当前目录有可能和脚本实际所在目录不一致。
 %~dp0%:脚本文件所在的目录,注意,目录的路径为全路径,并且带结尾的\。
 如:在D:\test\执行cmd,运行E:\test\a.bat,则%cd%为D:\test,%~dp0%为E:\test\
 
setx命令(命令行实现永久设置环境变量)
设置用户环境变量
 setx "变量名" "变量值"
设置计算机(全局)环境变量(最后加上 /m)
 setx "变量名" "变量值" /m
 setx /m "变量名" "变量值"
 
/v名称,/t类型,/d数据
/v "UE" /t REG_SZ /d "abc"
 

 
/f没有Yes/No询问
无/f,弹出Yes/No询问
 reg delete “HKLM\SOFTWARE\EpicGames\Unreal Engine\builds”
 
 有/f,没有询问
 reg delete “HKLM\SOFTWARE\EpicGames\Unreal Engine\builds” /f
参考:
- https://blog.csdn.net/Opithecus/article/details/128797167
 - https://www.cnblogs.com/bdqczhl/p/17637585.html
 - https://blog.csdn.net/yanhanhui1/article/details/108871132
 



















