【问题标题】:Batch file attribute check批处理文件属性检查
【发布时间】:2014-12-17 15:14:41
【问题描述】:

我在 .bat 中的脚本有点问题。我的任务是编写一个脚本来检查文件中的一些内容。我已经定义了其中一些东西,但现在我被困住了。我的问题是我不知道如何定义一个条件:如果文件是隐藏的或只读的,删除这个属性并写一些关于文件更改的信息(一些文本)。

然后我遇到了第二个问题,那就是脚本总是向文件写入内容,但是当我尝试向文件写入内容时(在脚本运行时)然后我保存它,总是有脚本必须写在里面的东西。有人可以给我一些建议吗?我是新手。非常感谢大家的回复。

这是脚本本身:

@echo off
title file-checking script
set file="file.txt"
set maxbytesize=1
type NUL > file.txt
pause
:loop
if exist file.txt @echo ok> file.txt
if not exist file.txt type NUL > file.txt
FOR /F "usebackq" %%A IN ('%file%') DO set size=%%~zA
if %size% LSS %maxbytesize% (
    echo.File is under %maxbytesize% byte
) ELSE (
    del file.txt
)
timeout/t 2 
goto loop

【问题讨论】:

    标签: windows batch-file scripting cmd


    【解决方案1】:

    阅读HELP FOR,你会发现检查属性类似于检查文件大小

     set ATTRS=%%~aA
    

    【讨论】:

    • 我想你的意思是help for
    【解决方案2】:

    使用>> 而不是> 将数据附加到现有文件,保留现有内容。 > 重定向将覆盖任何现有内容。

    您可以使用以下方法来测试文件是否隐藏(在您证明它存在之后):

    dir /b /ah file.txt >nul 2>nul && (
      echo file is hidden
    ) || (
      echo file is not hidden
    )
    

    【讨论】:

      猜你喜欢
      • 2018-10-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多