![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-03 03:29 |
共 48,038 主题排行 / 350,123 发帖 / 今日 1 篇 / 48,251 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 如何用for判断文档内容是否为空 |
| 可打印版本 1,074 / 8 |
| 第1楼 26933062 | 发表于 2006-12-22 18:42 |
| 银牌会员 发帖 879 积分 2,268 | |
|
如何用for判断文档内容是否为空 如何用for判断文档内容是否为空,
要求:用for判断a.txt中是否为空,如果是空的,则运行dir f:\如果有内容则跳转到另一标签. [ Last edited by 26933062 on 2006-12-22 at 05:46 AM ] |
|
| 第2楼 fjcyz | 发表于 2006-12-22 19:30 |
| 初级用户 发帖 36 积分 68 | |
|
for %%i in (1.txt) do if "%%~zi"=="0" (goto 1) else (goto 2)
|
|
| 第3楼 26933062 | 发表于 2006-12-22 22:27 |
| 银牌会员 发帖 879 积分 2,268 | |
|
原来这么简单,谢谢了,又学了东西.
|
|
| 第4楼 willhellen | 发表于 2007-01-22 01:17 |
| 新手上路 发帖 7 积分 13 | |
|
"%%~zi"=="0"
这句话如何理解? 下面我用2楼的命令写的bat,可达不到目的(del 1.txt): @echo off for %%a in (f.txt) do if "%%~za"=="0" (goto del) else (goto pause) :del del %%a goto :eof :pause pause f.txt内容如下: 1.txt 1.txt为空。 不知以上错在哪里?? 请帮忙解答!谢谢。 |
|
| 第5楼 zh159 | 发表于 2007-01-22 02:51 |
| 金牌会员 发帖 1,467 积分 3,687 | |
|
%%a只能在for本语句循环里有效
|
|
| 第6楼 dikex | 发表于 2007-01-22 04:10 |
| 高级用户 发帖 366 积分 788 | |
Originally posted by willhellen at 2007-1-21 12:17 PM: 如果想用那个格式就改为下面的那个 |
|
| 第7楼 hangyug | 发表于 2007-01-22 05:05 |
| 初级用户 发帖 43 积分 99 | |
Originally posted by willhellen at 2007-1-21 12:17 PM: 我认为应该这样写: @echo off for %%a in (%1) do if "%%~za"=="0" (goto del) else (goto pause) :del del %1 goto :eof :pause pause 运行时把f.txt赋给%1 我也不明白"%%~zi"=="0"是什么意思,希望有人能解释一下。。。 |
|
| 第8楼 bluemanlb | 发表于 2007-01-24 12:47 |
| 初级用户 发帖 14 积分 24 | |
|
%~zi是表示文件的大小,如何大小等于0即为空文件.
还有一些其它的参数,比方:%~n表示文件名,%~f表示完全路径等. |
|
| 第9楼 zh159 | 发表于 2007-01-24 12:58 |
| 金牌会员 发帖 1,467 积分 3,687 | |
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |