标题: [文本处理] [已解决]求助批处理如何提取文本内指定的 日期时段 [打印本页]
作者: KLL 时间: 2024-10-3 19:41 标题: [已解决]求助批处理如何提取文本内指定的 日期时段
a.txt 文本内容
2024/10/01 17:01,19972.00,19986.00,19968.25,19978.00,764,
2024/10/01 17:02,19978.75,19981.75,19968.25,19968.25,401,
2024/10/01 17:03,19969.25,19969.75,19945.25,19952.50,861,
2024/10/01 17:04,19953.50,19955.00,19949.25,19950.25,287,
.
.
2024/10/02 15:55,20066.00,20068.75,20066.00,20067.00,87,
2024/10/02 15:56,20067.00,20069.00,20066.50,20067.50,178,
2024/10/02 15:57,20067.50,20068.75,20065.25,20067.75,153,
2024/10/02 15:58,20067.25,20068.00,20066.00,20066.00,80,
2024/10/02 15:59,20065.75,20065.75,20060.25,20060.75,251,
2024/10/02 16:00,20060.50,20060.50,20056.25,20059.25,348,
文本中 第一列为 日期 时间,
每一分钟一行
起始时间为17:01
终止时间为次日 16:00
提取至b.txt
谢谢
作者: 77七 时间: 2024-10-3 21:02
提取什么?没说清楚
作者: KLL 时间: 2024-10-3 21:22
回复 2# 77七
提取指定日期 起始时间为17:01 至次日 16:00 的行
作者: czjt1234 时间: 2024-10-3 21:34
17:01 至次日 16:00 的行
这不就是全部的文件内容么?
作者: 77七 时间: 2024-10-3 21:52
- @echo off
- set d1=2024/10/01
- cd /d "%~dp0"
- for /f %%a in ('powershell -c "Get-Date (Get-Date '%d1%').AddDays(1) -uformat "%%Y/%%m/%%d""') do (
- set d2=%%a
- )
- (for /f "tokens=1* delims=," %%a in ('findstr /b "%d1% %d2%" "a.txt"') do (
- if "%%a" geq "%d1% 17:01" (
- if "%%a" leq "%d2% 16:00" (
- echo %%a,%%b
- )
- )
- )) > "b.txt"
- pause
复制代码
作者: KLL 时间: 2024-10-3 22:58
已运行测试 正确
感谢协助 谢谢您
作者: aloha20200628 时间: 2024-10-4 00:42
回复 1# KLL - @echo off &setlocal &set "g=1"
- (for /f "tokens=1-2 delims=, " %%a in ('sort a.txt') do if defined g (
- if "%%b"=="17:01" (set "gg=1") else if "%%b"=="16:00" set "g="
- if defined gg echo,%%a %%b
- ))>b.txt
- endlocal&pause&exit/b
复制代码
作者: qixiaobin0715 时间: 2024-10-8 15:08
根据楼主的描述,要提取的数据总共23个小时,每分钟一行数据,也即是1380行,根据这个思路,代码也可这样写:- @echo off
- set "StartingTime=2024/10/01 17:01"
- setlocal enabledelayedexpansion
- (for /f "tokens=1* delims=," %%i in (a.txt) do (
- if "%%i"=="%StartingTime%" (
- set n=0
- echo,%%i,%%j
- ) else if defined n (
- set /a n+=1
- if !n! equ 1380 set n=
- echo,%%i,%%j
- )
- ))>b.txt
- pause
复制代码
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |