GVKun编程网logo

Windows批处理:如何检查文本文件是否为空(该文件有一个空行,所以大小不为零)

29

在这篇文章中,我们将为您详细介绍Windows批处理:如何检查文本文件是否为空的内容,并且讨论关于该文件有一个空行,所以大小不为零的相关问题。此外,我们还会涉及一些关于c#–如何检查文件内容是否为空?

在这篇文章中,我们将为您详细介绍Windows批处理:如何检查文本文件是否为空的内容,并且讨论关于该文件有一个空行,所以大小不为零的相关问题。此外,我们还会涉及一些关于c# – 如何检查文件内容是否为空?、php – 如何检查文件字段是否为空?、php – 如何检查文件输入字段是否为空?、Windows 7 – Windows 7批处理文件:如何检查参数是否已传递到批处理文件的知识,以帮助您更全面地了解这个主题。

本文目录一览:

Windows批处理:如何检查文本文件是否为空(该文件有一个空行,所以大小不为零)

Windows批处理:如何检查文本文件是否为空(该文件有一个空行,所以大小不为零)

该文件的问题是,它有时包含一个空行,所以大小不为零。 我试过,但因为它有一个空行,所以它返回1而不是0.任何build议如何解决它?

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

在CMD中查找文件位置并使用它

从Windows批打印网页

为什么这个Windows批处理脚本无法find程序net.exe?

批处理:使用文件path从文本文件末尾删除换行

在Windows上创build桌面链接的脚本?

大小可以用来检查

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 ( 这里有更多的信息),所以空格在被看到之前会被作为分隔符去除作为eol 。

具有单个空行的文件将是2个字节(CR,LF)。 您可以通过检查文件总大小是否小于或等于2来检测。

for %%a in (file.txt) do if %%~za LEQ 2 echo File has no more than 2 bytes

这可能不适用于其他文件更多的文本,但仍然完全由空白,因此显示为“空”。 例如,包含一个标签后跟一个换行符的文件将有3个字节。 您可能能够调整您的“空白”文件的定义,并相应地调整代码。

如果您的“空”文件的定义只包含空格,而不管长度如何,上述解决方案将无法工作。 相反,您可以使用for /F来解析文件。 读取文件时, for /F只匹配包含非空白字符的行。 如果找到一个,那么该文件不是“空白”。

set "fileIsBlank=1" for /F %%a in (file.txt) do set "fileIsBlank=0" if %fileIsBlank% EQU 0 echo File has non-blank lines in it..

c# – 如何检查文件内容是否为空?

c# – 如何检查文件内容是否为空?

我试图检查文件中是否没有任何内容.

这是我检查/创建/写入文件的方法:

class LastUsed
    {
        private static string dir = Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles) + @"\Folder\";
        private static string file = dir + @"\Settings.txt";
        private string text;

        public void CheckFileStatus()
        {
            if (!Directory.Exists(dir))
            {
                DirectoryInfo directory = Directory.CreateDirectory(dir);
            }
            if (!File.Exists(file))
            {
                using (FileStream fileStream = File.Create(file))
                {
                }
            }
        }

        private void SetFileText(string writeText)
        {
            using (StreamWriter streamWriter = new StreamWriter(file))
            {
                streamWriter.Write(writeText);
            }
        }

        private string GetFileText()
        {
            string readText;

            using (StreamReader streamReader = File.OpenText(file))
            {
                readText = streamReader.ReadLine();
            }

            return readText;
        }

        public string Text
        {
            set 
            {
                text = value;
                SetFileText(text);
            }
            get 
            {
                return GetFileText(); 
            }
        }

我们可以看到我可以使用属性读/写文件.所以我试图检查Text属性的null值,但它似乎不起作用.

我该怎么做?

解决方法

只需检查文件的大小是否为零字节: Get size of file on disk.

php – 如何检查文件字段是否为空?

php – 如何检查文件字段是否为空?

我很难使用$_FILES

我想检查它是否为空,如果它不是空的,那么它不应该尝试和上传文件.我该如何检查?

if($_FILES["file"]["error"] != 0) {
//stands for any kind of errors happen during the uploading
}

也有

if($_FILES["file"]["error"] == 4) {
//means there is no file uploaded
}

php – 如何检查文件输入字段是否为空?

php – 如何检查文件输入字段是否为空?

我很难使用$_FILES

我想检查文件上传字段是否为空,然后应用一个条件,如果文件上传为空,则脚本不会尝试上传文件.我该如何执行?

解决方法:

if($_FILES["file"]["error"] != 0) {
//stands for any kind of errors happen during the uploading
} 

还有

if($_FILES["file"]["error"] == 4) {
//means there is no file uploaded
}

Windows 7 – Windows 7批处理文件:如何检查参数是否已传递到批处理文件

Windows 7 – Windows 7批处理文件:如何检查参数是否已传递到批处理文件

回到90年代中期,我记得做这样的事情:
if %1==. dir

基本上,如果将上面的代码放在dodir.bat中,并且自己运行它,而不传递任何参数,它将运行dir命令。但是,如果您作为参数传递任何内容,则不会运行dir命令。

我似乎无法让它在我的Windows 7批处理文件中工作。也许我不记得正确的语法。任何帮手?

其实就是%1。==。命令(注意。在%1之后)。而您现在可以在Windows 7中使用它,它应该可以工作。

使用示例

if %1.==. (
    echo No parameters have been provided.
) else (
    echo Parameters:
    echo %*
)

我们今天的关于Windows批处理:如何检查文本文件是否为空该文件有一个空行,所以大小不为零的分享就到这里,谢谢您的阅读,如果想了解更多关于c# – 如何检查文件内容是否为空?、php – 如何检查文件字段是否为空?、php – 如何检查文件输入字段是否为空?、Windows 7 – Windows 7批处理文件:如何检查参数是否已传递到批处理文件的相关信息,可以在本站进行搜索。

本文标签: