...这样我就可以写下来了。
thatcommand myfile.txt && ECHO Is non-empty || ECHO Is empty or absent
(对于表单处理器:这完全描述了问题。)
答案 0 :(得分:1)
要在代码中使用相同的方法将其限制为只有一个命令,您可以尝试使用
(>nul 2>nul findstr /m "^" "myfile.txt") && echo ok || echo empty or absent
此代码使用findstr
根据匹配任何内容的正则表达式检查文件内容,并仅返回文件名(将搜索保留在第一个匹配项上)
如果文件存在且不为空,则正则表达式将找到匹配项。命令清除errorlevel
如果文件为空,则没有任何可能的匹配和命令
将errorlevel
设置为1
如果文件不存在,则命令直接失败(找不到文件),errorlevel
设置为1
答案 1 :(得分:1)
正如Compo已经指出的那样,检查文件大小可能是更好的处理方式。一个选项可能是
for %%a in ("myfile.txt") do if "%%~za" gtr "0" ( echo ok ) else (echo empty or absent )
如果文件存在,则会根据0
检查其大小(注意:字符串比较操作用于避免大小超过2 31 的问题)。
如果文件不存在,~z
修饰符将返回一个空字符串,该字符串按字母顺序低于"0"