Board logo

标题: 如何用for判断文档内容是否为空 [打印本页]

作者: 26933062     时间: 2006-12-22 18:42    标题: 如何用for判断文档内容是否为空
如何用for判断文档内容是否为空,
要求:用for判断a.txt中是否为空,如果是空的,则运行dir f:\如果有内容则跳转到另一标签
.


Last edited by 26933062 on 2006-12-22 at 05:46 AM ]

作者: fjcyz     时间: 2006-12-22 19:30
for %%i in (1.txt) do if "%%~zi"=="0" (goto 1) else (goto 2)

作者: 26933062     时间: 2006-12-22 22:27
原来这么简单,谢谢了,又学了东西.

作者: willhellen     时间: 2007-1-22 01:17
"%%~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为空。


不知以上错在哪里??
请帮忙解答!谢谢。

作者: zh159     时间: 2007-1-22 02:51
%%a只能在for本语句循环里有效

作者: dikex     时间: 2007-1-22 04:10
Originally posted by willhellen at 2007-1-21 12:17 PM:
"%%~zi"=="0"

这句话如何理解?

下面我用2楼的命令写的bat,可达不到目的(del 1.txt):
@echo off
for %%a in (f.txt) do if "%%~za"==&qu ...



如果想用那个格式就改为下面的那个


@echo off
for %%a in (f.txt) do if "%%~za"=="0" (call :del %%a) else (call :pause)
goto :eof

:del
del %1
goto :eof

:pause
pause

作者: hangyug     时间: 2007-1-22 05:05
Originally posted by willhellen at 2007-1-21 12:17 PM:
"%%~zi"=="0"

这句话如何理解?

下面我用2楼的命令写的bat,可达不到目的(del 1.txt):
@echo off
for %%a in (f.txt) do if "%%~za"==&qu ...

我认为应该这样写:
@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"是什么意思,希望有人能解释一下。。。

作者: bluemanlb     时间: 2007-1-24 12:47
%~zi是表示文件的大小,如何大小等于0即为空文件.
还有一些其它的参数,比方:%~n表示文件名,%~f表示完全路径等.

作者: zh159     时间: 2007-1-24 12:58
@echo off
for %%a in (%1) do if "%%~za"=="0" (del %1) else pause
goto :eof