发现问题了:
你的
if [%2] leq 1000
和
if [%3] leq [1000]
写的都不对,这两行有问题,但是我也一时没有调出来正确的语法这里应该是什么?如何判断bat的输入参数是否是一个数值?并且这个数值处于一个数据区间呢?
【 在 ZhangShao (张稍) 的大作中提到: 】
: 标 题: 我这程序哪里有问题啊,跑起来总是提前就报错退出去了…
: 发信站: 水木社区 (Thu Aug 12 19:55:07 2021), 站内
:
: RT
: @ZhangShao
: 直接贴代码了,本身不到一百行的小程序,不解释,直接看我自己写的注释
:
: @ rem 删除微信图片缓存,只删除图片和视频,不删除文本聊天记录
:
: @ rem 参数1,WeChat当前登录用户名,注意这不是微信昵称,而是用户名,请查看c:\
: Users\administrator\Documents\WeChat Files\路径下的你的用户存储文件夹的名称
:
: @ rem 参数2,Windows系统当前登录用户名,省略此参数默认为windows系统安装时候默
: 认的用户名administrator
:
: @ rem 参数3,删除多少天之前的缓存,限值0到1000以内,无此参数或者设为0则全部删
: 除
:
: @ rem 要删除缓存的文件夹包括如下路径,但是微信不定哪次更新会变更缓存路径,因
: 此,本程序需要不定时的修改更新升级
:
: @ rem c:\Users\admin\Documents\WeChat Files\qq364528149\FileStorage\Video\20
: 21-08
:
: @ rem c:\Users\admin\Documents\WeChat Files\qq364528149\FileStorage\File\202
: 1-08
:
: @ rem c:\Users\admin\Documents\WeChat Files\qq364528149\FileStorage\Cache\20
: 21-08
:
: @ rem 返回值:0为正常,1为WeChat用户名未指定或未找到,2为系统登录用户名未找到
: ,3为设置天数为负或者远超过1000天
:
: @ rem echo off
:
: setlocal enabledelayedexpansion
:
: @ rem 至少要告诉我你的微信名吧
:
: @ rem if "%1"=="" echo empty 1
:
: @ rem IF "%~1"=="" GOTO ERRORINFORMATION
:
: if [%1]==[] GOTO ERRORINFORMATION
:
: set wechatname=%1
:
:
: if [%2]==[] (
:
: set windowsusername=administrator
:
: set days=0
:
: )
:
: if not [%2]==[] (
:
: @ rem 假如第二个参数省略了用户名则其就是第三个参数,指定多少天之前的记录被删
: 除
:
: if [%2] geq 0 if [%2] leq 1000 set days=%2
:
: @ rem IF [%2] leq 1000 rem 假定没有人会无聊到要指定1000天的某一天之前的记录
: 要被删除吧,用此来判断该参数是数字而不是字符串
:
: ) else (
:
: set windowsusername=%2
:
: echo %windowsusername%
:
: if [%3]==[] (
:
: set days=0
:
: ) else if [%3] geq [0] if [%3] leq [1000] set days=%3
:
: else GOTO ERRORINFORMATION
:
: @rem if not [%3]==[] (
:
: @ rem IF %3 GEQ 0 IF %3 LEQ 1000 (set days=%3) ELSE GOTO ERRORINFORMATIO
: N
:
: @rem if [%3] geq [0] (
:
: @rem if %3 leq [1000] (
:
: @rem set days=%3
:
: @rem )
:
: @rem else GOTO ERRORINFORMATION
:
: @rem )
:
: @ rem 限制天数为之前的1000天内否则就是穿越
:
: @rem)
:
: )
:
: )
:
: @ rem if [%2] equ [] (echo no arg!
:
: @ rem set windowsusername=administrator
:
: @ rem echo %windowsusername%
:
: @ rem set days=0
:
: @ rem echo %days%
:
: @ rem ) else (
:
: @ rem @ rem 假如第二个参数省略了用户名则其就是第三个参数,指定多少天之前的记
: 录被删除
:
: @ rem IF %2 GEQ 0 (
:
: @ rem IF %2 LEQ 1000 rem 假定没有人会无聊到要指定1000天的某一天之前的记录要
: 被删除吧,用此来判断该参数是数字而不是字符串
:
: @ rem set days=%2
:
: @ rem ) ELSE (
:
: @ rem set windowsusername=%2
:
: @ rem IF %3=="" (set days=0) ELSE ( rem 第3个参数指定天数
:
: @ rem IF %3 GEQ 0 IF %3 LEQ 1000 (set days=%3) ELSE GOTO ERRORINFORMATION
:
:
: @ rem 限制天数为之前的1000天内否则就是穿越
:
: @ rem )
:
: @ rem )
:
: @ rem )
:
: @rem cd /d C:\Users\%windowsusername%\Documents\
:
: @rem IF errorlevel 1 (
:
: @rem set windowsusername=John
:
: @rem echo %windowsusername%
:
: @rem GOTO ERRORINFORMATION
:
: @rem )
:
: if not exist C:\Users\%windowsusername%\Documents (
:
: set windowsusername=John
:
: echo %windowsusername%
:
: GOTO ERRORINFORMATION
:
: )
:
: @rem cd "WeChat Files"\%wechatname%\FileStorage
:
: @rem IF errorlevel 1 (
:
: @rem set wechatname=Alice
:
: @rem GOTO ERRORINFORMATION
:
: @rem )
:
: if not exist C:\Users\%windowsusername%\Documents\"WeChat Files"\%wechatname
: %\FileStorage (
:
: set wechatname=Alice
:
: GOTO ERRORINFORMATION
:
: )
:
:
: echo Clean Windows user "%windowsusername%" WeChat user "%wechatname%" file
: cache before %days% days
:
: set rootdirectory="C:\Users\%windowsusername%\Documents\WeChat Files\%wechat
: name%\FileStorage"
:
: forfiles /p %rootdirectory%\File /s /m *.* /d -%days% /c "cmd /c echo del /f
: /q /a @path"
:
: forfiles /p %rootdirectory%\Video /s /m *.* /d -%days% /c "cmd /c echo del /
: f /q /a @path"
:
: forfiles /p %rootdirectory%\Cache /s /m *.* /d -%days% /c "cmd /c echo del /
: f /q /a @path"
:
: @ rem pause
:
: @ rem start "" "D:\Program Files (x86)\Tencent\WeChat\WeChat.exe"
:
: exit /b 0
:
: @ rem 要让使用者知道如何使用啊
:
: : ERRORINFORMATION
:
: echo 参数1,WeChat当前登录用户名,注意这不是微信昵称,而是用户名,请查看c:\U
: sers\administrator\Documents\WeChat Files\路径下的你的用户存储文件夹的名称
:
: echo 参数2,Windows系统当前登录用户名,省略此参数默认为windows系统安装时候默
: 认的用户名administrator
:
: echo 参数3,删除多少天之前的缓存,限值0到1000以内,无此参数或者设为0则全部删
: 除
:
: IF "%1"=="" (
:
: echo 无名氏你好,无名氏再见!
:
: exit /b 1
:
: )
:
: IF %wechatname%==Alice (
:
: echo 你确认你的微信用户名不是Alice吗?
:
: exit /b 1
:
: )
:
: IF %windowsusername%==John (
:
: echo 你确认你的Windows系统用户名不是John吗?
:
: exit /b 2
:
: )
:
: IF %3 GEQ 0 IF %3 LEQ 1000 () ELSE (
:
: echo 你穿越了吗?
:
: exit /b 3
:
: )
:
: exit 4
:
:
:
: --
: 仙乡云水足生涯,摆橹横舟便是家。活剖鲜鳞烹绿鳖,旋蒸紫蟹煮红虾。
: 青芦笋,水荇芽,菱角鸡头更可夸。娇藕老莲芹叶嫩,慈菇茭白鸟英花。
:
:
: ※ 来源:·水木社区 mysmth.net·[FROM: 123.117.160.*]
--
FROM 120.245.94.*