Board logo

标题: [文本处理] [已解决]bat正则截取指定位置文本 [打印本页]

作者: huaderui    时间: 2021-2-16 23:15     标题: [已解决]bat正则截取指定位置文本

本帖最后由 huaderui 于 2021-2-17 09:56 编辑

media_b1500000_1029.ts
#EXTINF:8.341,
media_b1500000_1030.ts
#EXTINF:8.342,
media_b1500000_1031.ts
#EXTINF:8.342,
media_b1500000_1032.ts
#EXTINF:8.341,
media_b1500000_1033.ts
#EXTINF:0.138,
media_b1500000_1034.ts
#EXT-X-ENDLIST


如何截取1034这个数字,就是最后这个随机数字。它可能是三位或者四位数。
同时能不能把截取到的数字复制到剪切板。

希望能发完整的代码,因为是新手,不是很懂代码的含义。
作者: pd1    时间: 2021-2-16 23:33

  1. @echo off
  2. for /f "eol=# tokens=3 delims=_." %%i in ('type test.m3u8') do (
  3. echo %%i
  4. )
  5. pause
复制代码
结果:
  1. 1029
  2. 1030
  3. 1031
  4. 1032
  5. 1033
  6. 1034
  7. Press any key to continue . . .
复制代码

作者: huaderui    时间: 2021-2-17 07:46

回复 2# pd1 只要最后一个数字,别的不要,1029  1028 之类的不要
作者: qixiaobin0715    时间: 2021-2-17 08:48

回复 3# huaderui
那就2楼代码do后面修改为:
... do set str=%%i
echo %str%
pause
作者: flashercs    时间: 2021-2-17 09:15

本帖最后由 flashercs 于 2021-2-17 09:18 编辑
  1. @echo off
  2. cd /d "%~dp0"
  3. for /f "usebackq eol=# tokens=3 delims=_." %%i in ("test.m3u8") do (
  4.   set num=%%i
  5. )
  6. <nul set /p "s=%num%"|clip.exe
  7. exit /b
复制代码
直接将数字保存到剪贴板了。
作者: huaderui    时间: 2021-2-17 09:52

回复 5# flashercs

厉害,谢谢了




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2