Batch file 将批处理脚本与CMD一起使用是否有误?
当我打字时:Batch file 将批处理脚本与CMD一起使用是否有误?,batch-file,cmd,echo,Batch File,Cmd,Echo,当我打字时: set hi=Hello World echo %hi% echo hi is "%hi%" 跑步时我应该看“你好世界”,“你好世界”是不是 但我收到一条信息“你好” 什么?发生在我身上的事 有人知道如何解决这个问题吗 我是个新手,请帮帮我 更新这是我的全部 @echo off setlocal enabledelayedexpansion for /r %%G in ("T00 ?.mp3") do ( set hi=Hello World echo %hi% <--
set hi=Hello World
echo %hi%
echo hi is "%hi%"
跑步时我应该看“你好世界”,“你好世界”是不是
但我收到一条信息“你好”
什么?发生在我身上的事
有人知道如何解决这个问题吗
我是个新手,请帮帮我
更新这是我的全部
@echo off
setlocal enabledelayedexpansion
for /r %%G in ("T00 ?.mp3") do (
set hi=Hello World
echo %hi% <------ this I got echo is off
echo hi is "%hi%"
pause
)
@echo关闭
延迟扩展
对于/r%%G in(“T00?.mp3”),请执行以下操作(
设置hi=你好世界
回声%hi%标准问题
在块语句中(括号内的一系列语句)
,整个块被解析并执行。在解析块时,块内的任何%var%
都将被该变量的值替换——在执行块之前——同样的情况也适用于FOR…DO(块)
@echo关闭
延迟扩展
对于/r%%G in(“T00?.mp3”),请执行以下操作(
设置hi=你好世界
回声!嗨!
echo hi在循环开始时为“%hi%”,但是!hi!如果它在循环中更改
暂停
)
请注意,当您使用SETLOCAL ENABLEDELAYEDEXPANSION
打开延迟扩展时,%var%将在解析块时访问该值,并访问运行时的值
由于循环启动时未定义hi
,因此看到的命令是ECHO
,因此cmd
报告了ECHO状态(ECHO关闭
)(您最初没有告诉我们)
如果您使用ECHO(%hi%),那么您会发现idhi
为空,ECHO
将不显示任何内容(即只生成一个空行)
同时也显示了发布您正在使用的确切代码的重要性…您确实应该得到您所期望的,但是您向我们展示的代码不会产生您所报告的代码。剪切和粘贴您的确切代码非常重要-不要重新键入。我怀疑您实际上已经设置了设置hi=Hello World/echo“%hi%”/echo hi是“%hi%”
是我想做的,但我认为我所有的变量都是emty。