我有一个包含 !
的密码。无论我尝试过什么,它都会掉落 !
。我的脚本使用的是 ENABLEDELAYEDEXPANSION
,所以我不确定这是否就是我遇到问题的原因。这是我的代码:
set password=cccvvv!
echo %password%
当我运行脚本时,我得到 cccvvv
。
我试过以下方法:
set password=cccvvv!!
set password=cccvvv^^!
似乎没有任何效果。
我怎样才能让它保持在变量中的 !
上?
最佳答案
测试一下
@echo off
setlocal enableextensions enabledelayedexpansion
rem Escaped exclamation
set "password=this is a test^!"
rem See the environment block
set password
rem Echo with normal expansion
echo %password%
rem Echo with delayed expansion
echo !password!
当延迟扩展处于事件状态时,您需要转义感叹号以将其存储在变量中,并且当您在延迟扩展处于事件状态时使用没有延迟扩展语法的变量时,解析器通常会删除它。
关于batch-file - 如何逃脱!在 .bat 文件的设置行中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31009489/