Batch file 批处理文件以检查两个大于1KB的文件大小,如果不运行命令

Batch file 批处理文件以检查两个大于1KB的文件大小,如果不运行命令,batch-file,Batch File,我对编码很陌生,所以请容忍我:) 我希望创建批处理文件以执行以下操作: 1) 检查两个文件大小是否大于1KB 2) 如果没有,则运行命令(更新文件) 3) 再次检查文件,查看它们是否大于1KB,如果不大于1KB,请再次运行命令 4) 如果它们大于1kb,则停止 谢谢你的帮助 谢谢您使用bash脚本的一种方式: for i in *; do FILESIZE=$(stat -c %s "$i") while [ $FILESIZE -lt 1024 ]; do

我对编码很陌生,所以请容忍我:)

我希望创建批处理文件以执行以下操作:

1) 检查两个文件大小是否大于1KB

2) 如果没有,则运行命令(更新文件)

3) 再次检查文件,查看它们是否大于1KB,如果不大于1KB,请再次运行命令

4) 如果它们大于1kb,则停止

谢谢你的帮助


谢谢您

使用
bash
脚本的一种方式:

for i in *; do

    FILESIZE=$(stat -c %s "$i")

    while [ $FILESIZE -lt 1024 ]; do

         echo "appending text" >> $i

         FILESIZE=$(stat -c %s "$i")

         if [ $FILESIZE -ge 1024 ]; then
             break
         fi
    done
done

+1不是因为与OP问题有关,而是因为与另一个平台/语言上的情况有关。您的要求模棱两可。向我们展示您尝试过的内容,并询问您的确切问题。获取文件大小要简单得多,请阅读
帮助集
,然后尝试
%~z1
。OP的问题不是大小的差异,而是两个文件的大小。+1,-我以前从未注意到
/-C
选项,我喜欢这样。但是有一种更容易获得文件大小的方法:使用
~z
修饰符。如果您有一个参数,那么只需
%~z1
。如果没有参数,则为%%F in(“文件名”)设置文件大小=%%~zF
@echo off

REM The two file names are the first and second parameters to the batch file

:CheckFileSizes
if %~z1 LEQ 1024 (
    if %~z2 LEQ 1024 (
        REM add your logic here!
        echo TEST >> %1
        echo TEST >> %2

        rem Recheck the file sizes
        goto :CheckFileSizes
    )
)

goto :EOF