中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-07-02 22:16
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 如果判断一个文件内容是否为空? 查看 2,647 回复 19
16 发表于 2007-07-07 17:09 ·  中国 广东 广州 海珠区 电信
初级用户
★★
积分 170
发帖 72
注册 2007-03-11 22:16
19年会员
UID 81435
性别 男
状态 离线
...有问题。一直没发现

:go
for /L %%A in (1,10,60) do ping -n 1 -l 16 -w 100 192.168.200.%%A | find "Reply" >> power.txt
for %%C in (power.txt) do @if "%%~za"=="0" goto shutdown
goto time

:time
timeout 180
goto begin

:shutdown
for /L %%B in (1,1,10) do ping -n 1 -l 16 -w 100 192.168.200.%%B | find "Reply" >> server.txt
for /F " tokens=12,3 delims=: " %%B in (server.txt) do call shutdown -m \\%%B -f -s -t 120
goto end

这一段有问题,判断文本为空后,还是在做循环判断,更本没跳到关机那里..........
17 发表于 2007-07-07 18:54 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
19年会员
UID 59080
状态 离线
for %%C in (power.txt) do @if "%%~za"=="0" goto shutdown

这样的错误也犯?
18 发表于 2007-07-07 20:55 ·  中国 广东 广州 海珠区 电信
初级用户
★★
积分 170
发帖 72
注册 2007-03-11 22:16
19年会员
UID 81435
性别 男
状态 离线
--!...没注意到,哈哈,学艺不精..

问问,不理解:

for %%C in (power.txt) do @if "%%~za"=="0" goto shutdown

这个 %%C 跟 za 得 a 是要对应得?后面的 a 就是前面的变量?
19 发表于 2007-07-08 01:49 ·  中国 广东 汕头 潮阳区 电信
高级用户
★★★
DOS时空
积分 713
发帖 348
注册 2007-02-10 13:59
19年会员
UID 79169
性别 男
状态 离线
楼主的意思是^大小写之分吧,大小混合.改成小写c
20 发表于 2007-07-08 06:36 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
19年会员
UID 59080
状态 离线
Originally posted by leton at 2007-7-7 20:55:
--!...没注意到,哈哈,学艺不精..

问问,不理解:

for %%C in (power.txt) do @if "%%~za"=="0" goto shutdown

这个 %%C 跟 za 得 a 是要对应得?后面的 a 就是前面的变量?


前面指定的是%%C,后面引用for的結果時要與之對應,所以%%a要改成%%C,而且是區分大小寫的。也就是說,后面用%%c也不行。
论坛跳转: