[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]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

  1. @echo off
  2. for /f %%i in ('gawk "NR==21{if($3>30000)print \"a\";else print \"b\"}" 1.txt') do (
  3.     goto :%%i
  4. )
复制代码
1

评分人数

我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 3# Batcher


    谢谢!代码完美!!

TOP

回复 3# Batcher


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

TOP

if($1>5 && $3>30000)
1

评分人数

提供bat代写,为你省时省力省事,支付宝扫码头像支付
微信: unique2random

TOP

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

回复 6# zaqmlp


十分感谢

TOP

回复 7# keshun


把 @echo off 删掉
代码保存为 C:\test.bat
打开一个CMD窗口,执行命令:
C:\test.bat

这样可以看到详细的报错信息或者线索。如果自己看不懂,就发出来大家一起看看。
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

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

TOP

  1. @echo off
  2. for /f "tokens=1-3" %%i in ('gawk "NR==1{if($1<10 && $5>30000)print \"a\",$1,$5;else print \"b\",$1,$5}" 1.txt') do (
  3.     set "a=%%j" & set "b=%%k"
  4.     goto :%%i
  5. )
  6. :a
  7. echo;%a%&echo;%b%
  8. pause & goto :EOF
  9. :b
  10. echo;%a%&echo;%b%
  11. pause & goto :EOF
复制代码
2

评分人数

TOP

回复 9# keshun


    以后别这样乱改了,至少把以前的信息保留啊,否则让别人之前回复的代码显得不知所云。
1

评分人数

    • keshun: 谢谢,知道了技术 + 1
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

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

回复 10# WHY


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

TOP

回复 12# keshun


    NR==1 表示读取的行数等于1,把它改成 NR<=5

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

回复 14# keshun


    以此数据为例,第3行符合条件,跳转到标签a,变量a,b的值为7, 40931
假设第2行与第3行同时符合条件,跳转到标签a,变量a,b应该取哪一行的值?
假设第1至5行都不符合条件,跳转到标签b,变量a,b应该取哪一行的值?

TOP

返回列表