本帖最后由 Echo11 于 2022-2-23 23:14 编辑
一、具体也不懂。但是测试了一些数据。我直接在cmd窗口跑的。
1、win7
获得了一个“向左的箭头”符号,不知道如何判断是否是 ESC。如下图:
2、win 11
获得了一个效果是删除右边字符值。如下图:
二、也许问题出在prompt #$E#,不同系统版本这个$E含义有所不同,先看看帮助信息。
1、下面是Win7下的prompt /?- C:\Users\Cat>prompt /?
- 更改 cmd.exe 命令提示符。
-
- PROMPT [text]
-
- text 指定新的命令提示符。
-
- 提示符可以由普通字符及下列特定代码组成:
-
- $E Escape 码(ASCII 码 27)
- $$ $ (货币符号)
复制代码 2、下面是Win 11下的prompt /?- C:\Users\Administrator>prompt /?
- 更改 cmd.exe 命令提示符。
-
- PROMPT [text]
-
- text 指定新的命令提示符。
-
- 提示符可以由普通字符及下列特殊代码组成:
-
- $E 转义码(ASCII 码 27)
- $$ $ (美元符号)
复制代码 三、总结、猜想与疑问:
1、win7 和 win11下的prompt 命令扩展中, $E 和 $$,虽然说明被更改了,但是其实还是一样。都是 ASCII 码 27,即 Escape
2、相同命令,显示输出不同,也许是不同Windows的解释器不同的原因?
3、后面半段语句"echo on & for %b in (9999) do rem",这段“没有意义”的代码其实是为了回显 “命令提示符”和“REM”,以供给外层For /F语句去提取这个特殊的“命令提示符”——$E。 |