[英]View all commands and their outputs in command prompt in Windows 7 64 bit
[英]Please explain following outputs in Windows command prompt
我尝试使用以下批处理文件自定义Windows命令提示符。
@echo off
cls
:cmd
set /p "cmd=%cd%>"
%cmd%
goto cmd
因此,当我打开批处理文件时,它只需将我的命令输入cmd
变量并执行它并再次提示输入新命令。
但是以下命令echo %cd%
仅输出%cd%
然后我启用了delayedexpansion
并使用了echo !cd!
并获得所需的输出。
我认为,由于延迟扩展, cmd
变量现在保持echo c:\\Users\\Sourav\\Desktop
( 我是否正确? )
但是当我尝试打开命令提示符(而不是批处理文件)并尝试以下命令时,我感到困惑。
我想,我会得到c:\\Users\\Sourav\\Desktop
但我得到了!cd!
。 这与我对echo !cd!
理解相矛盾echo !cd!
正在处理第一种情况。
为什么我在第二种情况下获得不同的输出?
任何人都可以建议批处理文件的任何改进,以便我可以在第一种情况下使用echo %cd%
得到所需的输出?
你需要另一层解析。 您可以使用call
来执行此操作:
@echo off
cls
:cmd
set /p "cmd=%cd%>>"
call %cmd%
goto cmd
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.