本帖最后由 aloha20200628 于 2024-6-27 12:09 编辑
回复 7# licunwei
用批处拿下此帖是个有趣的练习,订正4楼代码如下...
关键是要调整算法流程》为了规避最新网页文件生成速度的问题,不是仅盯第一个最新文件F1而是顺序检查F1及其后一组连续生成的文件,直到遭遇上一轮检过的第一个文件为止,如此可确保每次轮检无一漏网。检查文件关键词改用系统内置的findstr.exe,因所匹配关键词均为ascii字符数据,故无须处理文件编码问题,而且批处调用findstr明显快过powershell。
- @echo off &setlocal
- set "d=D:\交易失败流水\%date%"
- if not exist "%d%" md "%d%"
- pushd "D:\SCETC\dataXml\"
- :[Loop]
- for /f "delims=" %%F in (' dir /b/tw/o-d/a-d "*603.xml" ') do (
- if not defined _lastF set "_lastF=%%F"
- if defined lastF if /i "%%F"=="%lastF%" goto[next]
- findstr /i "\"CardLocalFee\":\"0\",\"CardLocalPayfee\":\"0\"" "%%F">nul&&(copy /y "%%F" "%d%")
- )
- :[next]
- set "lastF=%_lastF%" &set "_lastF="
- timeout /t 3 /nobreak>nul
- goto[Loop]
复制代码
|