![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-09-25 14:05 |
共 47,813 主题排行 / 349,918 发帖 / 今日 0 篇 / 48,274 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 如果判断一个文件内容是否为空? |
| 可打印版本 3,387 / 19 |
| 第1楼 leton | 发表于 2007-04-12 22:39 |
| 初级用户 发帖 72 积分 170 | |
|
如果判断一个文件内容是否为空? 请教,如果判断一个文件内容是否为空?
|
|
| 第2楼 bjsh | 发表于 2007-04-12 23:12 |
| 银牌会员 发帖 621 积分 2,000 | |
|
for %a in (test.txt) do @if "%~za"=="0" echo 此文件内容为空
|
|
| 第3楼 ansipeter | 发表于 2007-04-12 23:23 |
| 中级用户 发帖 130 积分 269 | |
|
我觉得楼主所说的为空不一定是文件大小为0,为空和大小为零是两个概念
|
|
| 第4楼 vkill | 发表于 2007-04-12 23:29 |
| 金牌会员 发帖 1,744 积分 4,103 来自 甘肃.临泽 | |
|
findstr . test.txt >nul 2>nul && (echo 此文件内容不为空)
|
|
| 第5楼 bjsh | 发表于 2007-04-12 23:30 |
| 银牌会员 发帖 621 积分 2,000 | |
|
我知道;我并没有混淆这两个概念;只是用为零来表示空文件;
也有过顾虑比如很多空格的文件大小也不为0; for %a in (test.txt) do @if "%~za"=="0" for /f %a in (test.txt) do @if "%a"=="" 这两句代表了两种情况; |
|
| 第6楼 leton | 发表于 2007-04-13 00:05 |
| 初级用户 发帖 72 积分 170 | |
|
谢谢楼上哥们了.
考虑得真具体. 这个帖子主要是为了解决停电问题。 企业内部有几台服务器,都有UPS(但没外加电源),管理员只有一个,为了避免断电当机情况(停电+UPS电影耗尽),想写个批处理让服务器每天 8:30-21:00 此段时间内进行判断: 1.判断时间是否 8:30-21:00; 1.1 是,往下执行 1.2 否,退出 2.Ping 客户端在线 有就记录(Find | ** >> Power.txt) 3.然后判断 Power.txt 是否为空 3.1 为空则对所有服务器发送关机指令 3.2 为有则(copy nul power.txt)然后倒数5分钟,再继续执行 思路基本这样 |
|
| 第7楼 htysm | 发表于 2007-04-13 00:33 |
| 高级用户 发帖 415 积分 866 | |
|
亏楼主想得到。
|
|
| 第8楼 lxmxn | 发表于 2007-04-13 00:52 |
| 版主 发帖 4,938 积分 11,386 | |
|
文件内容为空??
我有三个理解:
|
|
| 第9楼 leton | 发表于 2007-04-13 01:42 |
| 初级用户 发帖 72 积分 170 | |
|
字节为0
|
|
| 第10楼 leton | 发表于 2007-04-13 01:43 |
| 初级用户 发帖 72 积分 170 | |
|
『第 7 楼』:
亏楼主想得到。 没钱就这样,哈 |
|
| 第11楼 lxmxn | 发表于 2007-04-13 01:46 |
| 版主 发帖 4,938 积分 11,386 | |
|
如果是字节为零的情况,用2楼的就可以啦。
|
|
| 第12楼 leton | 发表于 2007-04-13 10:52 |
| 初级用户 发帖 72 积分 170 | |
|
谢谢指教
|
|
| 第13楼 lililulula | 发表于 2007-04-14 05:17 |
| 中级用户 发帖 138 积分 302 | |
|
嘿嘿 我也要用到拉 偷学一下~~~~
[ Last edited by lililulula on 2007-4-20 at 03:55 PM ] |
|
| 第14楼 lililulula | 发表于 2007-04-14 05:34 |
| 中级用户 发帖 138 积分 302 | |
|
搞懂了 这里编辑掉~~~
[ Last edited by lililulula on 2007-4-20 at 03:55 PM ] |
|
| 第15楼 leton | 发表于 2007-04-20 12:20 |
| 初级用户 发帖 72 积分 170 | |
|
终于有空继续了.....最近忙死了,那位兄弟看完麻烦指点一下,让代码更合理,简短,强大;谢谢
@echo off :Begin copy nul power.txt copy nul server.txt Set time="" for /f "tokens=1 delims=; " %%a in ('time /t') do Set time=%%a If %time% LSS 18:00 ( goto go ) else ( exit ) :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 :end |
|
| 1 2 下一页 |
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |