DOS比较运算符(LSS,LEQ,GTR,GEQ,EQU,NEQ)

时间:2022-06-16 16:06:24

rem 比较运算符:

EQU - 等于

NEQ - 不等于

LSS - 小于

LEQ - 小于或等于

GTR - 大于

GEQ - 大于或等于

例如

if not %in%==2 goto 2

如:

if %in% NEQ 1 goto 2

注意文本比较应使用==

&&:前面的命令执行成功才执行后面的命令

||:前面的命令执行失败才执行后面的命令

&:不管前面的命令执行是否成功都执行后面的命令

|:管道运算符,前面命令的输出作为后面命令的输入

演示删除7日前(含第7日前)修改的文件

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
:: DateDel.bat - 演示删除7日前(含第7日前)修改的文件
:: Will Sort - 2021-8-26 - CMD@WinXP
:: Note: 不要将此批处理文件置于需要选择删除文件的目录中
::       程序只是进行了删除演示,若演示无误,删除del前面的echo即可正常执行
::       如果首次执行的日期不是2021-8-26,则需调整第四行代码中的保留日期列表
::       程序需要每日运行至少一次,以便自动更新日期列表
@echo off
if "%1"==":" goto %2
if exist %temp%.\_DateDel.bat %temp%.\_DateDel.bat
%0 : Update 2021-08-20 2021-08-21 2021-08-22 2021-08-23 2021-08-24 2021-08-25 2021-08-26
 
:Update
setlocal EnableExtensions
set today=%date:~0,10%
if not "%today%"=="%9" %0 : Update %4 %5 %6 %7 %8 %9 %today%
echo %0 : Update %3 %4 %5 %6 %7 %8 %9 >%temp%.\_DateDel.bat
 
:Delete
for /r %%f in (*.*) do if "%%~tf" LEQ "%3" echo del "%%f"
 
:End

批处理 数值计算与大小比较

变量

设定变量

set month=7

使用变量

%day%

注释

::请以管理员身份运行

比较大小

EQU 等于
NEQ 不等于
LSS 小于
LEQ 小于或等于
GTR 大于
GEQ 大于或等于

if语句

如果日期大于31,日期设定为1,月份加1。

?
1
2
3
if %day% GTR 31 (
set /a day=1
set /a month=month+1)

while循环

使用goto语句实现

:while
//循环内容
pause
goto :while

输出到屏幕

echo %date%表单数据已复制到剪切板

输出到文本

echo %f% >res.txt

读取文本到剪切板

clip < res.txt

删除文件

del res.txt

暂停

pause

关闭回显

@echo off