Board logo

标题: [注册表类] 批处理reg add修改注册表无效 [打印本页]

作者: zl33333    时间: 2021-4-21 10:58     标题: 批处理reg add修改注册表无效

在cmd中使用命令,能够正常执行
  1. cmd /k @reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v "LegalNoticeCaption" /d "修改" /t REG_SZ /f>nul
复制代码
但是把命令写成批处理后就无效
  1. echo off
  2. cmd /k @reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v "LegalNoticeCaption" /d "修改" /t REG_SZ /f>nul
复制代码
执行无效,而且关闭窗口,显示好多的^C  
想问下各位,这是什么问题
作者: newswan    时间: 2021-4-21 11:51

本帖最后由 newswan 于 2021-4-21 11:52 编辑

在批处理里运行
  1. @echo off
  2. echo 1
  3. reg .... >nul
  4. echo 2
复制代码

作者: zl33333    时间: 2021-4-21 12:52

在批处理里运行
newswan 发表于 2021-4-21 11:51



    不行啊,还是一样的问题,你可以试一下
作者: newswan    时间: 2021-4-21 13:22

回复 3# zl33333


    可以,测试过了。
是不是中文的问题,批处理是utf-8 加一句 chcp 65001
作者: zl33333    时间: 2021-4-21 14:53

回复  zl33333


    可以,测试过了。
是不是中文的问题,批处理是utf-8 加一句 chcp 65001
newswan 发表于 2021-4-21 13:22



我的代码是这样的,看看有什么问题
  1. echo off
  2. chcp 65001
  3. echo 1
  4. reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v "LegalNoticeCaption" /d "修改" /t REG_SZ /f>nul
复制代码

作者: newswan    时间: 2021-4-21 22:19

回复 5# zl33333


    对,可以在后面加一句 reg query
作者: zl33333    时间: 2021-4-22 07:59

完全不行啊
作者: 极品小猫    时间: 2021-4-22 12:56

是Administrator账户吗?如果没有给管理员身份,批处理默认无法修改注册表,需要右键“以管理员身份运行”
作者: zl33333    时间: 2021-4-22 15:14

是Administrator账户吗?如果没有给管理员身份,批处理默认无法修改注册表,需要右键“以管理员身份运行”
极品小猫 发表于 2021-4-22 12:56


    我是域账户,已加入本地管理员组了,我在cmd中执行reg add  完全没有问题
但是执行这个批处理
  1. echo off
  2. chcp 65001
  3. reg query
  4. echo 1
  5. reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v "LegalNoticeCaption" /d "修改" /t REG_SZ /f>nul
复制代码
就显示这样的下面这样的(我图片怎么穿不了)
  1. C:Windows\system32\cmd.exe
  2. Active code page: 65001
  3. Active code page: 65001
  4. Active code page: 65001
  5. Active code page: 65001
  6. Active code page: 65001
  7. Active code page: 65001
  8. Active code page: 65001
  9. Active code page: 65001
  10. Active code page: 65001
  11. Active code page: 65001
  12. Active code page: 65001
  13. Active code page: 65001
复制代码

作者: newswan    时间: 2021-4-22 16:15

本帖最后由 newswan 于 2021-4-22 16:20 编辑

注意批处理文件的编码
如果是utf-8 里面加 chcp 65001
如果是ansi 里面加 chcp 936
  1. @echo off
  2. chcp 65001
  3. echo 1
  4. reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v "LegalNoticeCaption" /d "修改11" /t REG_SZ /f>nul
  5. echo 2
  6. reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v "LegalNoticeCaption"
  7. pause
复制代码
"以管理员身份"运行

你用的什么软件编辑bat文件?
作者: zl33333    时间: 2021-4-23 08:00

注意批处理文件的编码
如果是utf-8 里面加 chcp 65001
如果是ansi 里面加 chcp 936"以管理员身份"运行

...
newswan 发表于 2021-4-22 16:15



    我存utf-8的时候chcp65001不行
存ansi的时候chcp 936也不行
我就用的记事本
已经是管理员身份运行了
作者: newswan    时间: 2021-4-23 23:04

本帖最后由 newswan 于 2021-4-23 23:05 编辑

回复 11# zl33333


推荐 notepad++
系统是什么?
作者: Batcher    时间: 2021-4-25 23:12

回复 9# zl33333
  1. @echo off
  2. reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v "LegalNoticeCaption" /d "修改" /t REG_SZ /f
复制代码
把以上代码复制到记事本里面
另存为 test.bat 不要用 reg.bat
编码格式选择 ANSI
作者: zl33333    时间: 2021-4-27 13:42

回复  zl33333 把以上代码复制到记事本里面
另存为 test.bat 不要用 reg.bat
编码格式选择 ANSI
Batcher 发表于 2021-4-25 23:12



    完全可以,非常感谢

我想知道这是什么原因?
作者: Batcher    时间: 2021-4-27 23:03

回复 14# zl33333


    如果没有极其特殊的原因,所有的bat脚本都保存成ANSI编码格式即可。




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2