cmd - 在 cmd 中使用时传递给 cmd 的注册表变量 (%1) 不显示完整路径(不包含带空格的文本)
问题描述
在注册表项中,我将 %1 传递给 lockfolder.bat:
D:\文件夹\lockfolder.bat %1
这将运行带有 %1 参数的批处理文件
但是当我在上面的 cmd 文件中使用 %1 时,该文件包含:
cmd /c 回显 %1
如果 %1 是带有空格的路径,例如“d:\hello world”,则 cmd 只接受 d:\hello 但对于没有空格的“d:\games”可以正常工作
解决方案
始终为路径和文件名使用引号。TILDE 会删除可能存在的引号,如果不存在则不会造成任何损害。
D:\folder\lockfolder.bat "%~1"
cmd /c echo "%~1"
推荐阅读
- jsf - 通过 BootsFaces 数据表获取传递给 Java 函数的空值
- google-chrome-devtools - 在 Chrome 开发工具中禁用断点的快捷方式是什么?
- assembly - 大会 - 部门给出奇怪的结果
- python - Groupby 和 cumcount 仅适用于有效行
- python - 获取文件中出现单词的行?
- authentication - 是否可以通过检查 Kerberos 数据包来确定用户如何进行身份验证?
- c++ - 在字符串中插入一个字符
- azure - Azure 应用服务:如果当前实例计数高于所选实例怎么办?
- c++ - 在函数体中静态定义的互斥锁是否能够正确锁定?
- javascript - JQuery 中的 Ajax 未执行