windows - 使用 EnableDelayedExpansion 在命令行脚本中显示感叹号 (!)
问题描述
此批处理脚本的输出Hello!
与预期的一样:
@echo off
echo Hello!
但是,启用延迟扩展后,现在的输出为Hello
:
@echo off
setlocal EnableDelayedExpansion
echo Hello!
一个技巧是在 :endlocal
之前插入echo
:
@echo off
setlocal EnableDelayedExpansion
...
endlocal
echo Hello!
setlocal EnableDelayedExpansion
然而,这很乏味。根据这个 Microsoft 参考,一些字符,如百分比 (%) 和插入符号 (^) 可用于转义(并因此打印)字符,如%
,|
和>
.
感叹号(!)是否有任何转义字符而不使用endlocal
技巧?
解决方案
尝试使用双插入符号:
@echo off
setlocal enableDelayedExpansion
echo ^^!
推荐阅读
- mysql - 如何更改mysql中的输出格式?
- c# - VR Unity 点击并按住控制器
- python - Keras 丢失输出没有改变 - 检查激活和打开主题
- vb.net - 检测何时选择 DataGridViewCell/在 VB.Net 中获得焦点
- kubernetes - 如果我的服务器遍布全球,我应该使用 Kubernetes 吗?
- ajax - 如何使用signalR定期更新asp.net mvc视图?
- css - 使用本地 css 文件时,KaTeX 的渲染结果很奇怪
- android - 如何在 RecyclerView 上为每个更改 LinearLayout bg
- javascript - PrivateRoute 在 reactjs react-router-dom 中不起作用
- azure - 使用 Azure 从 Rest API 引入数据