[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] [己解决]批处理怎样比较数值赋予变量并跳转?

本帖最后由 keshun 于 2019-4-21 18:34 编辑

原条件己更新
4        5.126                -1.3282                1        45000
  1. for /f %%i in ('gawk "NR==1{if($1<10 && $5>30000)print \"a\";else print \"b\"}" 1.txt') do ( goto :%%i )
复制代码
跳转的同时,把$1的数“4”赋予变量%a%,把$5的数“45000”赋予变量%b%,求代码,谢谢!!
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

本帖最后由 keshun 于 2019-3-20 20:48 编辑
  1. if %aa% gtr 30000 echo 大于30000
  2. if %aa% lss 30000 echo 小于30000
复制代码
不知什么原因,if对这么大的数值比较出错。不知是不是WIN7 32的原因,好象以前XP不会这样的?

TOP

回复 3# Batcher


    谢谢!代码完美!!

TOP

回复 3# Batcher


    读取1.txt第21行第1列数值>5,第3列数值>30000,同时满足两个条件值,求代码谢谢!!

TOP

本帖最后由 keshun 于 2019-4-9 17:15 编辑

回复 6# zaqmlp


十分感谢

TOP

一楼条件己更新,求代码??谢谢

TOP

本帖最后由 keshun 于 2019-4-20 13:09 编辑

回复 10# WHY


    如果把第1行改成前5行,其它条件不变,也就是前5行内有符合的跳转a,无符合的跳转b,求代码,谢谢??

TOP

本帖最后由 keshun 于 2019-4-20 23:19 编辑

回复 13# WHY


    NR<=5,代码判断了第一行就跳转了,跟本不会去检测2-5行,代码应该改进下谢谢!

2        5.545                -0.3772                27        29809
5        5.544                -0.3952                17        12296
7        5.54                -0.4671                54        40931
9        5.536                -0.5389                28        9424
11        5.53                -0.6467                31        42602
15        5.525                -0.7366                15        11735
20        5.522                -0.7905                54        22184
22        5.52                -0.8264                53        16528
25        5.515                -0.9162                11        123431

如上第3行符合,代码应该先检测第1.2行,第3行符合就跳转a。如果都不符合就检测到第5行后跳转b。

TOP

回复 15# WHY


   问题换个思路解决了,第一步把前5行符合条件的行输出至新文本,用代码去判断新文本,假如5行都不符合新文本为空,有符合的只要判断第一行就行,非常感谢!!

TOP

返回列表