windows - 使用 REG ADD 将 %~DP0 写入注册表

标签 windows batch-file registry

我已经解决了关于将 %DATE% 插入 REG_SZ 注册表值 ( see link ) 的问题,但现在我遇到了一个稍微不同的问题,试图将 %~DP0 (长源路径)插入在 .BAT 脚本中使用 REG ADD 的注册表值。它不会这样做,我敢肯定这是因为我做错了什么。

reg add "hklm\software\acme" /v "TestValue" /d "%~dp0" /t REG_SZ /f

我也尝试过先将值设置为变量,但这也不起作用。发生的事情是它插入没有前面双引号但带有尾随双引号的扩展路径,然后炸弹并出现关于 REG/的错误?语法等

SET VX=%~DP0
reg add "hklm\software\acme" /v "TestValue" /d "%VX%" /t REG_SZ /f

有人看到我做错了什么吗?

最佳答案

路径 %~dp0 以目录分隔符“\”(例如“c:\temp\”)结束,它被解释为对随后的双引号字符的转义,因此解析器看不到结束符双引号。您需要做的是用另一个字符转义尾随的\字符:

reg add "hklm\software\acme" /v "TestValue" /d "%~dp0\" /t REG_SZ /f

关于windows - 使用 REG ADD 将 %~DP0 写入注册表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8839801/

相关文章:

ruby-on-rails - Rails 4 Windows 10 - 未定义的方法 Assets - Rails::Engine

Windows批处理脚本从文件名中删除括号中的文本?

batch-file - Bukkit 服务器启动批处理文件循环

windows - Git 提交后 Hook : How to start a bat-file in Windows

C# DWORD 和 QWORD - 有符号和无符号的疯狂

c# - 如何通过 IP 地址列出网络计算机上所有已安装的软件?

windows - 以编程方式在 Windows 资源管理器中选择多个文件

python - ctypes:printf 返回长度,它是 int 而不是字符串

windows - 似乎无法让 Node.js 命令行解释我写的内容,一直返回 "..."?

c++ - 我怎样才能用c编程语言获得计算机中所有文件的列表,包括注册表文件和内存文件