gpt4 book ai didi

Windows 批处理 : how to check if a text file is blank (the file has an empty line so size is non zero)

转载 作者:可可西里 更新时间:2023-11-01 11:06:47 24 4
gpt4 key购买 nike

文件的问题是它有时包含一个空行,因此大小不为零。我试过了,但是因为它有一个空行,所以它返回 1 而不是 0。有什么解决方法的建议吗?

set /a varTestPoints=0
for /f %%a in ('type "file.txt"^|find "" /v /c') do set /a varTestPoints=%%a

最佳答案

大小可以用

检查
for %%a in ("file.txt") do echo %%~za

其中%%~za%%a引用的文件大小

要测试文件是否只包含空行,可以使用这些命令中的任何一个

(for /f usebackq^ eol^= %%a in ("file.txt") do break) && echo has data || echo empty
(for /f "usebackq eol= " %%a in ("file.txt") do break) && echo has data || echo empty

如果 for/f 找不到包含数据的行,它会引发一个错误,可以用 &&|| 检查条件执行运算符

注意 作为 aschipfl 点,在检查空行的原始代码中,for/f 中跳过以分号开头的行的默认行为将使测试文件中以 ; 开头的行失败。现在代码还通过两种不同的方式处理这种情况。

  • 在第一个命令中,eol 子句通过为其分配一个空列表或分隔符来禁用。

  • 第二个命令为eol 分配了一个空格。虽然看起来我们只是简单地更改了有问题的字符,但当行由 for/f 分词器解析时,delims 子句优先于 eol(更多信息 here),因此在它们被视为 eol 之前,空格将作为分隔符被删除。

关于Windows 批处理 : how to check if a text file is blank (the file has an empty line so size is non zero),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33575962/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com