[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
  1. //&cls&cscript -nologo -e:jscript "%~f0"<"a.txt">"b.txt"&pause&exit
  2. while(!WSH.StdIn.AtEndOfStream){
  3.     var line=WSH.StdIn.ReadLine(), arr=line.split(/\s+/), len=arr.length;
  4.     if(len>2){
  5.         var n=0;for(var i=2;i<len;i++){if(1*arr[1]<arr[i])n++}
  6.         if(n==len-2)WSH.echo(line);
  7.     }
  8. }
复制代码

TOP

本帖最后由 pcl_test 于 2017-3-16 12:44 编辑

回复 12# taofan712

因为楼主测试的是他自己的6列数据,那么你处理10列的代码就会输出空行,另外直接sort排序获取其他列中的最小值也不妥,如xx 12 141 101 11 130
这类问题用纯批并不能做到很通用,要考虑的问题较多,如以整数型比较,会有有效范围的限制,以字符串比较,会有排序的问题,如果还有负数和小数,要处理的问题就更多了
  1. @powershell "gc '文本.txt'|%%{$a=$_ -split '\s+';$b=($a[2..($a.count-1)]|measure -min).minimum;if(1*$a[1] -lt $b){$_}}"&pause
复制代码

TOP

返回列表