原始想法是删除特定文件并同时记录时间戳记- @echo off
- chcp 65001
- >>%cd%\clean.txt echo %DATE%
- set "dsk=d e g h i j k l m n o p q r s t u v w x y z"
- for %%a in (%dsk%) do if exist %%a: call:001 %%a:
- exit
-
- :001
- >>f:\temp\clean.txt del /a /f /q /s %1\*.aaa
- >>f:\temp\clean.txt del /a /f /q /s %1\*.bbb
- >>f:\temp\clean.txt del /a /f /q /s %1\*.ccc
复制代码 上面的写法简单有效
但如果没有特定文件存在时
加的时间戳记稍嫌多余
所以我想多加一个判断
在目标特定档案不存在时
不加时间戳记并直接结束批处理
于是改成为下- chcp 65001
- set "ftype=asp aria2"
- set "dsk=d e g h i j k l m n o p q r s t u v w x y z"
- for %%a in (%dsk%) do if exist %%a: call :001 %%a:
- call :002
- exit
-
- :001
- for %%b in (%ftype%) do del /f /s /q /a %1\*.%%b>>"%cd%\tmp.tmp"
- exit /b
-
- :002
- for /f "usebackq" %%c in ("%cd%\tmp.tmp") do if %%c neq "" call :003
- call :004
-
- :003
- >>"%cd%\clean.txt" echo %date%
- for /f "usebackq tokens=3 delims=- " %%d in ("%cd%\tmp.tmp") do echo %%d>>"%cd%\clean.txt"
- @del /f /a /s /q "%cd%\tmp.tmp"
- exit
-
- :004
- @del /f /a /s /q "%cd%\tmp.tmp"
- exit
复制代码 本人功力有限
只想到先记录到暂存档再处理的方法
步骤稍嫌复杂且批处理的效率稍低
在此想请各先进指点本人思路以增进作业效率 |