中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-07 16:18
48,041 主题排行 / 350,128 发帖 / 今日 3 篇 / 48,252 会员排行
DOS批处理 & 脚本技术(批处理室) » 【求助】关于ECHO的疑惑
可打印版本  700 / 4
第1楼 simplenoughappy 发表于 2008-03-04 16:54
初级用户 发帖 19 积分 42
【求助】关于ECHO的疑惑
@echo off
set a=1
echo %a%
pause
以上语句....我执行批处理时正常显示1

然后...将上述批处理改成如下:
@echo off
set aDate = %date:~0,-4%
for /f "tokens=1" %%a in ('type "d:\date.txt"^|find "%aDate%"') do set LastDate = "%%a"
echo %LastDate%
pause
提示ECHO关闭

然后再改回为
@echo off
set a=1
echo %a%
pause
仍然提示ECHO处于关闭状态

.一头雾水中....问题出在什么地方呢

[ Last edited by simplenoughappy on 2008-3-4 at 05:00 PM ]
第2楼 abcd 发表于 2008-03-04 17:19
银牌会员 发帖 739 积分 1,436
没事不好加这么多空格
第3楼 suntb 发表于 2008-03-04 17:20
高级用户 发帖 277 积分 581
set aDate = %date:~0,-4%
这句带空格,把空格删掉试试看
set aDate=%date:~0,-4%

还有"tokens=1"可以删除,默认就是取第一列的值
第4楼 simplenoughappy 发表于 2008-03-04 17:29
初级用户 发帖 19 积分 42
刚才去改了下..估计就是空格的事...
谢谢楼上几位的提醒.....刚开始接触批处理很多东西不懂
感觉在空格上面真是很严格的样子...
以前习惯在=号2边加空格了...
第5楼 pooronce 发表于 2008-03-04 18:10
中级用户 发帖 250 积分 484
因为空格影响了变量的值,所以最后find并未能找到,所以 for语言的输出为空
你让echo去显示空变量,就出现那种情况了
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023