中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-02 07:57
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » ><nul 是什么意思啊?? 查看 1,645 回复 5
楼 主 ><nul 是什么意思啊?? 发表于 2006-10-24 13:51 ·  中国 湖南 长沙 电信
初级用户
★★
积分 182
发帖 75
注册 2006-10-11 00:10
19年会员
UID 65220
性别 男
状态 离线
><nul 是什么意思啊??

请行谢过
2 发表于 2006-10-24 21:25 ·  中国 北京 万网公司IDC
初级用户
积分 90
发帖 38
注册 2006-01-06 18:41
20年会员
UID 48522
状态 离线
你应该把完整的代码贴出来,这样才好讲。
3 发表于 2006-10-24 22:06 ·  中国 广东 深圳 宝安区 电信
初级用户
积分 153
发帖 20
注册 2003-06-12 00:00
23年会员
UID 4904
性别 男
状态 离线
一般都是不回显吧..
呵呵..
4 这是完整的代码哦 发表于 2006-10-25 01:50 ·  中国 湖南 长沙 电信
初级用户
★★
积分 182
发帖 75
注册 2006-10-11 00:10
19年会员
UID 65220
性别 男
状态 离线
@echo off
setlocal EnableDelayedExpansion

set _tmp_F_S=C:\_delay.vbs
set _tmp_F_F=C:\_tmp.tmp
set delay=50
set s1=开机
set s2=快开机
set s3=他妈的开机
set s4=你他妈到底开不开机
set s5=操!!再不开机老子砸了你!!
echo if WScript.Arguments.count = 1 then WScript.Sleep CInt(WScript.Arguments(0)) end if>%_tmp_F_S%
if exist %_tmp_F_F% del %_tmp_F_F%
for /L %%i in (1,1,4) do (call :show %%s%%i%% && call :fail %%s%%i%%)
call :show %s5%
call :suc
if exist %_tmp_F_S% del %_tmp_F_S%
if exist %_tmp_F_F% del %_tmp_F_F%
ping -n 1 127.1>nul
goto :EOF

:show
if "%~1"=="" goto :EOF
set s=%1
set /p ans=%cd%^><nul
set /A len=0
:comp_len
echo %%s:~%len%,1%% | find "ECHO">nul && goto end_comp
set /A "len+=1"
goto comp_len
:end_comp
set /A "len-=1"
for /L %%i in (0,1,%len%) do (cscript //nologo %_tmp_F_S% %delay% && set /p ans=!s:~%%i,1!<nul)
cscript //nologo %_tmp_F_S% 500
echo.
echo %cd%^>%1>>%_tmp_F_F%
echo.>>%_tmp_F_F%
goto :EOF

:fail
echo '%1' 不是内部或外部命令,也不是可运行的程序
echo 或批处理文件。
echo.
echo '%1' 不是内部或外部命令,也不是可运行的程序>>%_tmp_F_F%
echo 或批处理文件。>>%_tmp_F_F%
echo.>>%_tmp_F_F%
goto :EOF

:suc
ping -n 1 127.1>nul
set eqq================================================================================
set gtr=^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>
echo Loading Windows 2000 ...>>%_tmp_F_F%
echo.>>%_tmp_F_F%
for /L %%i in (0,1,79) do (set /A new=2*%%i && type %_tmp_F_F% && echo !gtr:~0,%%i!!eqq:~%%i,80! && ping -n 1 127.1>nul && cls)
goto :EOF
5 发表于 2006-10-25 21:48 ·  中国 甘肃 兰州 中移铁通
初级用户
积分 90
发帖 38
注册 2006-01-06 18:41
20年会员
UID 48522
状态 离线
只有这一句出现><
set /p ans=%cd%^><nul

注意在>之前有转义符^,所以只是一个被引用的字符,具体到set /p 语句中,是在promptstring 中除了展开cd变量外再加一个大于号。

然后是<nul,作用是替换标准输入。
c:\>set /? 察看set用法
6 发表于 2006-10-26 09:10 ·  中国 湖南 长沙 电信
初级用户
★★
积分 182
发帖 75
注册 2006-10-11 00:10
19年会员
UID 65220
性别 男
状态 离线
谢谢5楼,明白了。

[ Last edited by online365 on 2006-10-28 at 03:30 PM ]
论坛跳转: