楼 主
[已结]set/p=**<nul 作输出时 <nul 表示什么?
发表于 2009-01-08 14:54 · 中国 江苏 扬州 移动
初级用户
★
积分 28
发帖 20
注册 2008-12-04 19:57
17年会员
UID 132895
性别 男
状态 离线
如:
@echo off
set str=!好你,,,,
for /l %%a in (6 -1 0) do call set /p=%%str:~%%a,1%%<nul
echo.&pause
有<nul就输出 ,,,,你好!
没有<nul就输出 ,
为什么?
<nul表示什么意思?
[
Last edited by HAT on 2009-1-9 at 12:32 ]
第 2 楼
发表于 2009-01-08 15:02 · 中国 贵州 安顺 电信
初级用户
★
积分 94
发帖 49
注册 2008-12-14 20:47
17年会员
UID 133884
性别 男
状态 离线
<nul 表示从空设备输入
相当于echo不换行的效果
本帖最近评分记录
(共 1 条)
点击查看详情
| 评分人 | 分数 | 时间 |
| HAT |
+2 |
2009-01-09 12:32 |
第 3 楼
发表于 2009-01-09 10:25 · 中国 江苏 扬州 移动
初级用户
★
积分 28
发帖 20
注册 2008-12-04 19:57
17年会员
UID 132895
性别 男
状态 离线
没有<nul那么输出的应该是
,
,
,
,
你
好
!
为什么for循环没有执行下去。只输出了,
第 4 楼
发表于 2009-01-09 12:06 · 中国 江西 赣州 电信
银牌会员
★★★★
积分 2,025
发帖 1,122
注册 2007-09-05 20:15
18年会员
UID 96653
性别 男
状态 离线
Originally posted by skuny at 2009-1-9 10:25 AM:
没有<nul那么输出的应该是
,
,
,
,
你
好
!
为什么for循环没有执行下去。只输出了,
你被
<nul 弄糊涂了 ^_^ 先回到最基本的命令:
set /p input=请输入:
以上命令能理解吧?即,
暂停等待用户输入,所以你所说的“去掉 <nul”,当然不会再执行下去,而是等待用户输入;
< 是一个“输入”符号,所以
<nul 代替了手工输入,从而结束了这条命令;
至于
不会换行,是由于没有输入
回车符。
理解了上述原因后,试试执行以下两条命令,也会有
不换行的效果:
set /p=不换行<test.txt
echo a|set /p=不换行
本帖最近评分记录
(共 2 条)
点击查看详情
| 评分人 | 分数 | 时间 |
| HAT |
+2 |
2009-01-09 12:33 |
| skuny |
+2 |
2009-01-09 13:40 |
第 5 楼
发表于 2009-01-09 12:31 · 中国 江苏 扬州 移动
初级用户
★
积分 28
发帖 20
注册 2008-12-04 19:57
17年会员
UID 132895
性别 男
状态 离线
论坛跳转: