2022年批处理命令帮助 .pdf
MOVE /? 移动文件并重命名文件和目录。要移动至少一个文件: MOVE /Y | /-Y drive:pathfilename1,. destination 要重命名一个目录: MOVE /Y | /-Y drive:pathdirname1 dirname2 drive:pathfilename1 指定您想移动的文件位置和名称。 destination 指定文件的新位置。目标可包含一个驱动器号和冒号、一个目录名或组合。如果只移动一个文件并在移动时将其重命名,您还可以包括文件名。 drive:pathdirname1 指定要重命名的目录。 dirname2 指定目录的新名称。 /Y 取消确认改写一个现有目标文件的提示。 /-Y 对确认改写一个现有目标文件发出提示。命令行开关 /Y 可以出现在 COPYCMD 环境变量中。这可以用命令行上的 /-Y 替代。默认值是,除非 MOVE 命令是从一个批脚本内执行的,改写时都发出提示。COPY /? 将一份或多份文件复制到另一个位置。COPY /D /V /N /Y | /-Y /Z /A | /B source /A | /B + source /A | /B + . destination /A | /B source 指定要复制的文件。 /A 表示一个 ASCII 文本文件。 /B 表示一个二进位文件。 /D 允许解密要创建的目标文件 destination 为新文件指定目录和/ 或文件名。 /V 验证新文件写入是否正确。 /N 复制带有非 8dot3 名称的文件时,尽可能使用短文件名。 /Y 不使用确认是否要改写现有目标文件的提示。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 30 页 - - - - - - - - - /-Y 使用确认是否要改写现有目标文件的提示。 /Z 用可重新启动模式复制已联网的文件。命令行开关 /Y 可以在 COPYCMD 环境变量中预先设定。这可能会被命令行上的 /-Y 替代。除非 COPY 命令是在一个批文件脚本中执行的,默认值应为在改写时进行提示。要附加文件,请为目标指定一个文件,为源指定数个文件 ( 用通配符或 file1+file2+file3 格式 ) 。DEL /? 删除一个或数个文件。DEL /P /F /S /Q /A:attributes names ERASE /P /F /S /Q /A:attributes names names 指定一个或数个文件或目录列表。通配符可被用来删除多个文件。如果指定了一个目录,目录中的所有文件都会被删除。 /P 删除每一个文件之前提示确认。 /F 强制删除只读文件。 /S 从所有子目录删除指定文件。 /Q 安静模式。删除全局通配符时,不要求确认。 /A 根据属性选择要删除的文件。 attributes R 只读文件 S 系统文件 H 隐藏文件 A 存档文件 - 表示“否”的前缀如果命令扩展名被启用,DEL 和 ERASE 会如下改变 : /S 开关的显示句法会颠倒,即只显示已经删除的文件,而不显示找不到的文件。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 30 页 - - - - - - - - - AT /? AT 命令安排在特定日期和时间运行命令和程序。要使用 AT 命令,计划服务必须已在运行中。AT computername id /DELETE | /DELETE /YES AT computername time /INTERACTIVE /EVERY:date,. | /NEXT:date,. command computername 指定远程计算机。如果省略这个参数,会计划在本地计算机上运行命令。id 指定给已计划命令的识别号。/delete 删除某个已计划的命令。如果省略 id ,计算机上所有已计划的命令都会被删除。/yes 不需要进一步确认时,跟删除所有作业的命令一起使用。time 指定运行命令的时间。/interactive 允许作业在运行时,与当时登录的用户桌面进行交互。/every:date,. 每个月或每个星期在指定的日期运行命令。如果省略日期,则默认为在每月的本日运行。/next:date,. 指定在下一个指定日期( 如,下周四 )运行命令。如果省略日期,则默认为在每月的本日运行。command 准备运行的 Windows NT 命令或批处理程序。TIME /T | time 显示当前时间设置和输入新时间的提示,请键入不带参数的 TIME。要保留现有时间,请按 ENTER 。如果命令扩展名被启用,DATE 命令会支持 /T 命令行开关;该命令行开关告诉命令只输出当前时间,但不提示输出新时间。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 30 页 - - - - - - - - - DATE /T | date 显示当前日期设置和输入新日期的提示,请键入不带参数的 DATE。要保留现有日期,请按 ENTER 。如果命令扩展名被启用,DATE 命令会支持 /T 开关;该开关指示命令只输出当前日期,但不提示输出新日期。GOTO /? 将 cmd.exe 导向到批处理程序中带标签的行。GOTO label label 指定批处理程序中用作标签的文字字符串。标签必须单独一行,并且以冒号打头。如果命令扩展名被启用,GOTO 会如下改变 : GOTO 命令现在接受目标标签 :EOF,这个标签将控制转移到当前批脚本文件的结尾。不定义就退出批脚本文件,这是一个容易的办法。有关能使该功能有用的 CALL 命令的扩展名描述,请键入CALL /? 。CALL /? 从批处理程序调用另一个批处理程序。CALL drive:pathfilename batch-parameters batch-parameters 指定批处理程序所需的命令行信息。如果命令扩展名被启用,CALL 会如下改变 : 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 30 页 - - - - - - - - - CALL 命令现在将卷标当作 CALL 的目标接受。语法是: CALL:label arguments 一个新的批文件上下文由指定的参数所创建,控制在卷标被指定后传递到语句。您必须通过达到批脚本文件末两次来 exit 两次。第一次读到文件末时,控制会回到 CALL 语句的紧后面。第二次会退出批脚本。键入 GOTO /?,参看 GOTO : EOF 扩展名的描述,此描述允许您从一个批脚本返回。另外,批脚本文本参数参照(%0、%1 、等等 ) 已如下改变 : 批脚本里的 %* 指出所有的参数( 如 %1 %2 %3 %4 %5 .) 批参数 (%n)的替代已被增强。您可以使用以下语法: %1 - 删除引号 () ,扩充 %1 %f1 - 将 %1 扩充到一个完全合格的路径名 %d1 - 仅将 %1 扩充到一个驱动器号 %p1 - 仅将 %1 扩充到一个路径 %n1 - 仅将 %1 扩充到一个文件名 %x1 - 仅将 %1 扩充到一个文件扩展名 %s1 - 扩充的路径指含有短名 %a1 - 将 %1 扩充到文件属性 %t1 - 将 %1 扩充到文件的日期/ 时间 %z1 - 将 %1 扩充到文件的大小 %$PATH : 1 - 查找列在 PATH 环境变量的目录,并将 %1 扩充到找到的第一个完全合格的名称。如果环境变量名未被定义,或者没有找到文件,此组合键会扩充到空字符串可以组合修定符来取得多重结果: %dp1 - 只将 %1 扩展到驱动器号和路径 %nx1 - 只将 %1 扩展到文件名和扩展名 %dp$PATH:1 - 在列在 PATH 环境变量中的目录里查找 %1,并扩展到找到的第一个文件的驱动器号和路径。 %ftza1 - 将 %1 扩展到类似 DIR 的输出行。在上面的例子中,%1 和 PATH 可以被其他有效数值替换。 % 语法被一个有效参数号码终止。% 修定符不能跟 %* 使用名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 30 页 - - - - - - - - - FOR /? 对一组文件中的每一个文件执行某个特定命令。FOR %variable IN (set) DO command command-parameters %variable 指定一个单一字母可替换的参数。 (set) 指定一个或一组文件。可以使用通配符。 command 指定对每个文件执行的命令。 command-parameters 为特定命令指定参数或命令行开关。在批处理文件中使用 FOR 命令时,指定变量请使用 %variable 而不要用 %variable。变量名称是区分大小写的,所以 %i 不同于 %I. 如果命令扩展名被启用,下列额外的 FOR 命令格式会受到支持 : FOR /D %variable IN (set) DO command command-parameters 如果集中包含通配符,则指定与目录名匹配,而不与文件名匹配。FOR /R drive:path %variable IN (set) DO command command-parameters 检查以 drive:path 为根的目录树,指向每个目录中的 FOR 语句。如果在 /R 后没有指定目录,则使用当前目录。如果集仅为一个单点(.) 字符,则枚举该目录树。FOR /L %variable IN (start,step,end) DO command command-parameters 该集表示以增量形式从开始到结束的一个数字序列。因此, (1,1,5) 将产生序列 1 2 3 4 5,(5,-1,1) 将产生序列 (5 4 3 2 1)。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 30 页 - - - - - - - - - FOR /F options %variable IN (file-set) DO command command-parameters FOR /F options %variable IN (string) DO command command-parameters FOR /F options %variable IN (command) DO command command-parameters 或者,如果有 usebackq 选项 : FOR /F options %variable IN (file-set) DO command command-parameters FOR /F options %variable IN (string) DO command command-parameters FOR /F options %variable IN (command) DO command command-parameters filenameset 为一个或多个文件名。继续到 filenameset 中的下一个文件之前,每份文件都已被打开、读取并经过处理。处理包括读取文件,将其分成一行行的文字,然后将每行解析成零或更多的符号。然后用已找到的符号字符串变量值调用 For 循环。以默认方式,/F 通过每个文件的每一行中分开的第一个空白符号。跳过空白行。您可通过指定可选 options 参数替代默认解析操作。这个带引号的字符串包括一个或多个指定不同解析选项的关键字。这些关键字为: eol=c - 指一个行注释字符的结尾( 就一个 ) skip=n - 指在文件开始时忽略的行数。 delims=xxx - 指分隔符集。这个替换了空格和跳格键的默认分隔符集。 tokens=x,y,m-n - 指每行的哪一个符号被传递到每个迭代的 for 本身。这会导致额外变量名称的分配。m-n 格式为一个范围。通过 nth 符号指定 mth 。如果符号字符串中的最后一个字符星号,那么额外的变量将在最后一个符号解析之后分配并接受行的保留文本。 usebackq - 指定新语法已在下类情况中使用: 在作为命令执行一个后引号的字符串并且一个单引号字符为文字字符串命令并允许在 filenameset 中使用双引号扩起文件名称。某些范例可能有助: FOR /F eol=; tokens=2,3* delims=, %i in (myfile.txt) do echo %i %j %k 会分析 myfile.txt 中的每一行,忽略以分号打头的那些行,将每行中的第二个和第三个符号传递给 for 程序体;用逗号和/ 或空格定界符号。请注意,这个 for 程序体的语句引用 %i 来取得第二个符号,引用 %j 来取得第三个符号,引用 %k 来取得第三个符号后的所有剩余符号。对于带有空格的文件名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 30 页 - - - - - - - - - 名,您需要用双引号将文件名括起来。为了用这种方式来使用双引号,您还需要使用 usebackq 选项,否则,双引号会被理解成是用作定义某个要分析的字符串的。 %i 专门在 for 语句中得到说明,%j 和 %k 是通过 tokens= 选项专门得到说明的。您可以通过 tokens= 一行指定最多 26 个符号,只要不试图说明一个高于字母 z 或 Z 的变量。请记住,FOR 变量是单一字母、分大小写和全局的;而且,同时不能有 52 个以上都在使用中。您还可以在相邻字符串上使用 FOR /F 分析逻辑;方法是,用单引号将括号之间的 filenameset 括起来。这样,该字符串会被当作一个文件中的一个单一输入行。最后,您可以用 FOR /F 命令来分析命令的输出。方法是,将括号之间的 filenameset 变成一个反括字符串。该字符串会被当作命令行,传递到一个子 CMD.EXE ,其输出会被抓进内存,并被当作文件分析。因此,以下例子: FOR /F usebackq delims= %i IN (set) DO echo %i 会枚举当前环境中的环境变量名称。另外, FOR 变量参照的替换已被增强。您现在可以使用下列选项语法 : I - 删除任何引号 () ,扩充 %I %fI - 将 %I 扩充到一个完全合格的路径名 %dI - 仅将 %I 扩充到一个驱动器号 %pI - 仅将 %I 扩充到一个路径 %nI - 仅将 %I 扩充到一个文件名 %xI - 仅将 %I 扩充到一个文件扩展名 %sI - 扩充的路径只含有短名 %aI - 将 %I 扩充到文件的文件属性 %tI - 将 %I 扩充到文件的日期/ 时间 %zI - 将 %I 扩充到文件的大小 %$PATH:I - 查找列在路径环境变量的目录,并将 %I 扩充到找到的第一个完全合格的名称。如果环境变量名未被定义,或者没有找到文件,此组合键会扩充到空字符串可以组合修饰符来得到多重结果: %dpI - 仅将 %I 扩充到一个驱动器号和路径名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 30 页 - - - - - - - - - %nxI - 仅将 %I 扩充到一个文件名和扩展名 %fsI - 仅将 %I 扩充到一个带有短名的完整路径名 %dp$PATH:i - 查找列在路径环境变量的目录,并将 %I 扩充到找到的第一个驱动器号和路径。 %ftzaI - 将 %I 扩充到类似输出线路的 DIR 在以上例子中,%I 和 PATH 可用其他有效数值代替。% 语法用一个有效的 FOR 变量名终止。选取类似 %I 的大写变量名比较易读,而且避免与不分大小写的组合键混淆。SET /? 显示、设置或删除 cmd.exe 环境变量。SET variable=string variable 指定环境变量名。 string 指定要指派给变量的一系列字符串。要显示当前环境变量,键入不带参数的 SET。如果命令扩展名被启用,SET 会如下改变 : 可仅用一个变量激活 SET 命令,等号或值不显示所有前缀匹配SET 命令已使用的名称的所有变量的值。例如: SET P 会显示所有以字母 P 打头的变量如果在当前环境中找不到该变量名称,SET 命令将把 ERRORLEVEL 设置成 1 。SET 命令不允许变量名含有等号。在 SET 命令中添加了两个新命令行开关: 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 30 页 - - - - - - - - - SET /A expression SET /P variable=promptString /A 命令行开关指定等号右边的字符串为被评估的数字表达式。该表达式评估器很简单并以递减的优先权顺序支持下列操作: () - 分组 ! - - 一元运算符 * / % - 算数运算符 + - - 算数运算符 - 逻辑移位 - 按位“与” - 按位“异” | - 按位“或” = *= /= %= += -= - 赋值 &= = |= = , - 表达式分隔符如果您使用任何逻辑或取余操作符,您需要将表达式字符串用引号扩起来。在表达式中的任何非数字字符串键作为环境变量名称,这些环境变量名称的值已在使用前转换成数字。如果指定了一个环境变量名称,但未在当前环境中定义,那么值将被定为零。这使您可以使用环境变量值做计算而不用键入那些 % 符号来得到它们的值。如果 SET /A 在命令脚本外的命令行执行的,那么它显示该表达式的最后值。该分配的操作符在分配的操作符左边需要一个环境变量名称。除十六进制有 0 x 前缀,八进制有 0 前缀的,数字值为十进位数字。因此, 0 x12 与 18 和 022 相同。请注意八进制公式可能很容易搞混: 08 和 09 是无效的数字,因为 8 和 9 不是有效的八进制位数。/P 命令行开关允许将变量数值设成用户输入的一行输入。读取输入行之前,显示指定的 promptString。promptString 可以是空的。环境变量替换已如下增强: %PATH:str1=str2% 会扩展 PATH 环境变量,用 str2 代替扩展结果中的每个 str1。要有效地从扩展结果中删除所有的 str1,str2 可以是空的。str1 可以以星号打头;在这种情况下,str1 会从扩展结果的开始到 str1 剩余部分第一次出现的地方,都一直保持相配。也可以为扩展名指定子字符串。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 30 页 - - - - - - - - - %PATH:10,5% 会扩展 PATH 环境变量,然后只使用在扩展结果中从第 11 个( 偏移量 10) 字符开始的五个字符。如果没有指定长度,则采用默认值,即变量数值的余数。如果两个数字( 偏移量和长度 ) 都是负数,使用的数字则是环境变量数值长度加上指定的偏移量或长度。 %PATH:-10% 会提取 PATH 变量的最后十个字符。 %PATH:0,-2% 会提取 PATH 变量的所有字符,除了最后两个。终于添加了延迟环境变量扩充的支持。该支持总是按默认值被停用,但也可以通过 CMD.EXE 的 /V 命令行开关而被启用/ 停用。请参阅 CMD /? 考虑到读取一行文本时所遇到的目前扩充的限制时,延迟环境变量扩充是很有用的,而不是执行的时候。以下例子说明直接变量扩充的问题: set VAR=before if %VAR% = before ( set VAR=after if %VAR% = after echo If you see this, it worked ) 不会显示消息,因为在读到第一个 IF 语句时, BOTH IF 语句中的 %VAR% 会被代替;原因是: 它包含 IF 的文体, IF 是一个复合语句。所以,复合语句中的 IF 实际上是在比较 before 和after,这两者永远不会相等。同样,以下这个例子也不会达到预期效果 : set LIST= for %i in (*) do set LIST=%LIST% %i echo %LIST% 原因是,它不会在目前的目录中建立一个文件列表,而只是将LIST 变量设成找到的最后一个文件。这也是因为 %LIST% 在FOR 语句被读取时,只被扩充了一次;而且,那时的 LIST 变量是空的。因此,我们真正执行的 FOR 循环是 : 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 30 页 - - - - - - - - - for %i in (*) do set LIST= %i 这个循环继续将 LIST 设成找到的最后一个文件。延迟环境变量扩充允许您使用一个不同的字符( 惊叹号 ) 在执行时间扩充环境变量。如果延迟的变量扩充被启用,可以将上面例子写成以下所示,以达到预期效果: set VAR=before if %VAR% = before ( set VAR=after if !VAR! = after echo If you see this, it worked ) set LIST= for %i in (*) do set LIST=!LIST! %i echo %LIST% 如果命令扩展名被启用,有几个动态环境变量可以被扩展,但不会出现在 SET 显示的变量列表中。每次变量数值被扩展时,这些变量数值都会被动态计算。如果用户用这些名称中任何一个定义变量,那个定义会替代下面描述的动态定义: %CD% - 扩展到当前目录字符串。%DATE% - 用跟 DATE 命令同样的格式扩展到当前日期。%TIME% - 用跟 TIME 命令同样的格式扩展到当前时间。%RANDOM% - 扩展到 0 和 32767 之间的任意十进制数字。%ERRORLEVEL% - 扩展到当前 ERRORLEVEL 数值。%CMDEXTVERSION% - 扩展到当前命令处理器扩展名版本号。%CMDCMDLINE% - 扩展到调用命令处理器的原始命令行。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 30 页 - - - - - - - - - REG Operation 参数列表 Operation QUERY | ADD | DELETE | COPY | SAVE | LOAD | UNLOAD | RESTORE | COMPARE | EXPORT | IMPORT 返回代码 : ( 除了 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 /? C:Documents and Settingsxuwd Windows 控制台注册表工具 - 版本 3.0 版权所有 (C) Microsoft Corp. 1981-2001. 保留所有权利。REG QUERY KeyName /v ValueName | /ve /s 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 30 页 - - - - - - - - - KeyName MachineFullKey Machine 远程机器名 - 忽略当前机器的默认值远程机器上只有 HKLM 和 HKU FullKey 格式为 ROOTKEYSubKey ROOTKEY HKLM | HKCU | HKCR | HKU | HKCC SubKey 所选 ROOTKEY 下的注册表项的全名 /v 查询特定注册表项 ValueName 所选项下的要查询的值的名称省略时,该项下的所有值都会得到查询 /ve 查询默认值或空白值名称 /s 查询所有子项和值例如 : REG QUERY HKLMSoftwareMicrosoftResKit /v Version 显示注册表值 Version 的值 REG QUERY HKLMSoftwareMicrosoftResKitr tSetup /s 显示注册表项 Setup 下的所有子项和值REG ADD KeyName /v ValueName | /ve /t Type /s Separator /d Data /f KeyName MachineFullKey 远程机器的机器名 - 忽略默认到当前机器。远程机器上只有 HKLM 和 HKU。 FullKey ROOTKEYSubKey ROOTKEY HKLM | HKCU | HKCR | HKU | HKCC 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 30 页 - - - - - - - - - SubKey 所选 ROOTKEY 下注册表项的完整名 /v 所选项之下要添加的值名 /ve 为注册表项添加空白值名 /t RegKey 数据类型 REG_SZ | REG_MULTI_SZ | REG_DWORD_BIG_ENDIAN | REG_DWORD | REG_BINARY | REG_DWORD_LITTLE_ENDIAN | REG_NONE | REG_EXPAND_SZ 如果忽略,则采用 REG_SZ /s 指定一个在 REG_MULTI_SZ 数据字符串中用作分隔符的字符如果忽略,则将 0 用作分隔符 /d 要分配给添加的注册表 ValueName 的数据 /f 不用提示就强行改写现有注册表项例如 : REG ADD ABCHKLMSoftwareMyCo 添加远程机器 ABC 上的一个注册表项 HKLMSoftwareMyCo REG ADD HKLMSoftwareMyCo /v Data /t REG_BINARY /d fe340ead 添加一个值 ( 名称 : Data ,类型 : REG_BINARY ,数据 : fe340ead) REG ADD HKLMSoftwareMyCo /v MRU /t REG_MULTI_SZ /d fax0mail 添加一个值 ( 名称 : MRU,类型 : REG_MUTLI_SZ,数据 : fax0mail00) REG ADD HKLMSoftwareMyCo /v Path /t REG_EXPAND_SZ /d %systemroot% 添加一个值 ( 名称 : Path ,类型 : REG_EXPAND_SZ,数据 : %systemroot%) 注意 : 在扩充字符串中使用双百分比符号( % ) REG DELETE KeyName /v ValueName | /ve | /va /f 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 15 页,共 30 页 - - - - - - - - - KeyName MachineFullKey Machine 远程机器名 - 忽略当前机器的默认值远程机器上只有 HKLM 和 HKU FullKey ROOTKEYSubKey ROOTKEY HKLM | HKCU | HKCR | HKU | HKCC SubKey 所选 ROOTKEY 下的注册表项的全名 ValueName 所选项下的要删除的值的名称省略时,该项下的所有子项和值都会被删除 /ve 删除空白值名称的值 /va 删除该项下的所有值 /f 不用提示就强行删除例如 : REG DELETE HKLMSoftwareMyCoMyAppTimeout 删除注册表项 Timeout 及其所有子项和值 REG DELETE ZODIACHKLMSoftwareMyCo /v MTU 删除 ZODIAC 上 MyCo 下的注册表项 MTU REG COPY KeyName1 KeyName2 /s /f KeyName MachineFullKey Machine 远程机器名 - 忽略当前机器的默认值远程机器上只有 HKLM 和 HKU FullKey ROOTKEYSubKey ROOTKEY HKLM | HKCU | HKCR | HKU | HKCC SubKey 所选 ROOTKEY 下的注册表项的全名 /s 复制所有子项和值 /f 不用提示就强行复制例如 : REG COPY HKLMSoftwareMyCoMyApp HKLMSoftwareMyCoSaveMyApp /s 将注册表项 MyApp 下的所有子项和值复制到注册表项 SaveMyApp REG COPY ZODIACHKLMSoftwareMyCo HKLMSoftwareMyCo1 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 16 页,共 30 页 - - - - - - - - - 将 ZODIAC 上注册表项 MyCo 下的所有值复制到当前机器上的注册表项 MyCo1 REG SAVE KeyName FileName KeyName ROOTKEYSubKey ROOTKEY HKLM | HKCU | HKCR | HKU | HKCC SubKey 所选 ROOTKEY 下的注册表项的全名 FileName 要保存的磁盘文件名。如果没有指定路径,文件会在调用进程的当前文件夹中得到创建例如 : REG SAVE HKLMSoftwareMyCoMyApp AppBkUp.hiv 将配置单元 MyApp 保存到当前文件夹中的文件 AppBkUp.hiv REG RESTORE KeyName FileName KeyName ROOTKEYSubKey (只是本地机器) ROOTKEY HKLM | HKCU | HKCR | HKU | HKCC SubKey 要将配置单元文件还原到的注册表项全名。改写现有项的值和子项 FileName 要还原的配置单元文件名您必须使用 REG SAVE 来创建这个文件例如 : REG RESTORE HKLMSoftwareMicrosoftResKit NTRKBkUp.hiv 还原文件 NTRKBkUp.hiv ,改写注册表项 ResKit 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 17 页,共 30 页 - - - - - - - - - REG LOAD KeyName FileName KeyName ROOTKEYSubKey (只是本地机器的) ROOTKEY HKLM | HKU SubKey 要将配置单元文件加载进的注册表项名称。创建一个新的注册表项 FileName 要加载的配置单元文件名您必须使用 REG SAVE 来创建这个文件例如 : REG LOAD HKLMTempHive TempHive.hiv 将文件 TempHive.hiv 加载到注册表项 HKLMTempHive REG UNLOAD KeyName KeyName ROOTKEYSubKey (只是本地机器的) ROOTKEY HKLM | HKU SubKey 要卸载的配置单元的注册表项名称例如 : REG UNLOAD HKLMTempHive 卸载 HKLM 中的配置单元 TempHive 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 18 页,共 30 页 - - - - - - - - - REG COMPARE KeyName1 KeyName2 /v ValueName | /ve Output /s KeyName MachineFullKey Machine 远程机器名 - 省略当前机器的默认值远程机器上只有 HKLM 和 HKU FullKey ROOTKEYSubKey 如果没有指定 FullKey2,FullKey2 则跟 FullKey1 相同 ROOTKEY HKLM | HKCU | HKCR | HKU | HKCC SubKey 所选 ROOTKEY 下的注册表项的全名 ValueName 所选注册表项下的要比较的值的名称省略时,该项下的所有值都会得到比较 /ve 比较空白值 名称的值 /s 比较所有子项和值 Output /oa | /od | /os | /on 省略时,只显示不同的结果 /oa 显示所有不同和匹配结果 /od 只显示不同的结果 /os 只显示匹配结果 /on 不显示结果返回代码 : 0 - 成功,比较的结果相同 1 - 失败 2 - 成功,比较的结果不同例如 : REG COMPARE HKLMSoftwareMyCoMyApp HKLMSoftwareMyCoSaveMyApp 将注册表项 MyApp 下的所有值跟 SaveMyApp 比较 REG COMPARE HKLMSoftwareMyCo HKLMSoftwareMyCo1 /v Version 比较注册表项 MyCo 和 MyCo1 下的值 Version REG COMPARE ZODIACHKLMSoftwareMyCo . /s 将 ZODIAC 上 HKLMSoftwareMyCo 下的所有子项和值和当前机器上的相同项比较名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 19 页,共 30 页 - - - - - - - - - REG EXPORT KeyName FileName Keyname ROOTKEYSubKey (local machine only) ROOT