标题: [文本处理] 数字大小对比及输出批处理求助 [打印本页]
作者: 484197121 时间: 2020-4-10 22:25 标题: 数字大小对比及输出批处理求助
a.txt 下 有如下内容:
a1#b1#12#xxx
a2#b2#13#xxx
a3#b3#14#xxx
a4#b4#15#xxx
a5#b5#435#xxx
a6#b6#17#xxx
a7#b7#168#xxx
求找出C列 最大的数字的行。绞尽脑汁了,毫无办法。
作者: went 时间: 2020-4-10 22:27
那列是C列呢
作者: 484197121 时间: 2020-4-10 23:01
就是找出C列 最大的数,并且输出正行
如:
a5#b5#435#xxx
435 就是最大的
作者: went 时间: 2020-4-10 23:11
- @echo off
- setlocal enabledelayedexpansion
- for /f "tokens=1-3* delims=#" %%i in (a.txt) do (
- if "!max!"=="" (
- set "max=%%k"
- ) else (
- if %%k gtr !max! (
- set "max=%%k"
- set "line=%%i#%%j#%%k#%%l"
- )
- )
- )
- echo max: !max!
- echo line: !line!
- pause&exit
复制代码
回复 3# 484197121
作者: 484197121 时间: 2020-4-10 23:25
回复 4# went
感谢,测试了完美解决问题。仔细一行行代码分析了,豁然开朗。
再次感谢!
作者: 484197121 时间: 2020-4-11 00:12
回复 4# went
有很多TXT 该怎么处理?
for %%a in (%cd%\xxx\*.*) do (
for /f "tokens=1-3* delims=#" %%i in (%%a) do (
if "!a!"=="" (
set "a=%%k"
) else (
if %%k gtr !a! (
set "a=%%k"
echo %%a,%%i#%%j#%%k#%%l"
)
)
)
echo a: !a!
echo %%a,!line!>>xxxxxx.csv
)
我试了 这样不行,
作者: went 时间: 2020-4-11 10:45
本帖最后由 went 于 2020-4-11 11:21 编辑
- @echo off
- setlocal enabledelayedexpansion
- REM txt folder
- set "folder=C:\Users\lenovo\Desktop\xxx"
- REM csv file
- set "csv=out.csv"
- for /r "%folder%" %%a in ("*.txt") do (
- set "max="
- for /f "usebackq tokens=1-3* delims=#" %%i in ("%%a") do (
- if "!max!"=="" (
- set "max=%%k"
- set "line=%%i#%%j#%%k#%%l"
- ) else (
- if %%k gtr !max! (
- set "max=%%k"
- set "line=%%i#%%j#%%k#%%l"
- )
- )
- )
- echo %%a
- echo !max!,!line!
- echo !max!,!line! >>"%~dp0%csv%"
- echo ----------------------
- )
- pause&exit
复制代码
作者: 484197121 时间: 2020-4-11 11:04
回复 7# went
测试 第三个 会输出空白
作者: went 时间: 2020-4-11 11:23
回复 8# 484197121
11行下面加上- set "line=%%i#%%j#%%k#%%l"
复制代码
一开始就找到最大值,line没有赋值,7楼已修改
作者: 484197121 时间: 2020-4-11 11:33
多谢方便留个联系方式不
作者: went 时间: 2020-4-11 11:42
回复 10# 484197121
746531439
作者: 484197121 时间: 2020-4-11 11:46
回复 11# went
加不了 验证$
作者: went 时间: 2020-4-11 11:50
回复 12# 484197121
以关闭,hh
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |