[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
回复 9# lateol
%1 (......) 这里是第一次运行行 %0 后面因为有 :  所以相当于注释
空格 不能少 否则影响排序
倒序 在SORT 后加 /R

TOP

回复 8# terse


    完美! 这个语句是什么?%1 (for /f "tokens=*" %%i in ('%0 : ^|sort') do echo %%i)&pause&exit
还有前面的%1  有何意义,set "str=     %%j"  中间要留空吗?
还有在处理下了 怎么做到排序的?再麻烦详解一下谢谢。

TOP

回复 7# lateol
仅针对你的资料
  1. @echo off&setlocal enabledelayedexpansion
  2. %1 (for /f "tokens=*" %%i in ('%0 : ^|sort') do echo %%i)&pause&exit
  3. for /f "tokens=1* delims=:" %%i in ('findstr /ic:G54.1P *.nc') do (
  4.     set "str=%%j"
  5.     set str=!str:*G54.1P=!
  6.     for /f "delims=G " %%j in ("!str!") do set "str=     %%j"
  7.     echo !str:~-5! %%i
  8. )
  9.    
复制代码

TOP

回复 6# terse


    常见固定 如
G54.1PXXG00X0Y0
G54.1PXX X0 Y0
G54.1PXX G00 X0. Y0.

TOP

本帖最后由 terse 于 2013-7-5 13:27 编辑

回复 5# lateol
主要不能确定 G54.1P后面有点有空格  有的没有
有空格的话 是否就取后面一列
没有空格的话 能确定后面是字符是固定G吗 还是有别的情况 这些都是要说明的
上面的代码要针对你的情况 做修正 你的情况越详细才会尽量的把代码完善一些

TOP

本帖最后由 lateol 于 2013-7-5 13:24 编辑

回复 4# terse


    是这样 ,不过 如果是G54.1P10  也会变成1?

TOP

本帖最后由 terse 于 2013-7-5 13:20 编辑

这样吗?
  1. @echo off&setlocal enabledelayedexpansion
  2. %1 %0 : |sort&pause&exit
  3. for /f "tokens=1* delims=:" %%i in ('findstr /ic:G54.1P *.nc') do (
  4.     set "str=%%j"
  5.     set str=!str:*G54.1P=!
  6.     echo !str:~,1! %%i
  7. )
复制代码
发出代码 才看到你的回复说 G5.1P 在一行里面有共存 上面代码不处理这样形式
另排序是按G5.1P 后一位排的

TOP

回复 2# terse


    好的 谢谢提醒,附件已经上传。还有G5.1PXX 是有共存的 。

TOP

不能理解你的描述
最好给出一点源文本的样本 (也就是 含 G54.1P 的文本)
需要知道的是 G54.1P 在单行中是唯一的还是有多个并存
帮你的人了解越多 才能绕尽量少的弯

TOP

返回列表