Batch file 批处理文件以检查两个大于1KB的文件大小,如果不运行命令
我对编码很陌生,所以请容忍我:) 我希望创建批处理文件以执行以下操作: 1) 检查两个文件大小是否大于1KB 2) 如果没有,则运行命令(更新文件) 3) 再次检查文件,查看它们是否大于1KB,如果不大于1KB,请再次运行命令 4) 如果它们大于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
谢谢您使用
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