【问题标题】:How to modify PROMPT to include variables?如何修改 PROMPT 以包含变量?
【发布时间】:2015-12-10 20:03:02
【问题描述】:

这是我需要的简化版本... 如果我设置一个变量并将其设置为我的 PROMPT,如下所示:

set myvar=AAA
PROMPT %myvar%$g

给我:

AAA>

但是,我想改变我的变量和提示,所以:

set myvar=BBB

应该作为我的提示产生:

BBB>

但是,它仍然是

AAA>

如何让它动态化?

【问题讨论】:

  • 再次设置提示。设置提示扩展/替换任何变量,然后变量消失。 shell 不会记住您使用了哪些变量,也不会不断检查它们是否已更改。
  • 这样做的原因是总是显示特定的重要变量,如果它们被某些脚本以编程方式更改...

标签: windows batch-file cmd prompt


【解决方案1】:

没有办法直接这样做;但是,如果您编写自己的“shell”,您可能很容易得到等效的结果。例如:

@echo off
setlocal

:loop
   echo/
   set "command="
   set /P "command=%myvar%>"
   call %command%
goto loop

输出示例:

>set myvar=AAA

AAA>echo %time%
14:42:12.32

AAA>set myvar=BBB

BBB>echo %date%
10/12/2015

BBB>exit

【讨论】:

  • hmm... 有趣的方法,这意味着我执行的每个命令都必须通过“call %command%”(它可能会起作用),而且 Ctrl+c 也会取消这个窗口,无论如何要避免它,我想把它当成一个普通的命令窗口。
  • 正如我所说,没有标准的方法可以做到这一点。如果您将 call %command% 更改为 cmd /C %command%,您可以使用 Ctrl+C 取消命令而不取消此批处理文件/窗口
猜你喜欢
  • 1970-01-01
  • 2011-08-01
  • 2019-12-30
  • 1970-01-01
  • 2017-09-03
  • 1970-01-01
  • 2013-11-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多