Board logo

标题: [文件操作] 请问下批处理怎么获取文本里面的内容? [打印本页]

作者: lihui612ld    时间: 2020-3-30 14:57     标题: 请问下批处理怎么获取文本里面的内容?

我有一个bin文件,我用TYPE读取里面的内容,然后用for来获取我所需要的那一段,可是每次都是空白的,请问这是为什么啊
                 48QH8-9NJJQ-QYVMV-CWKR9-MG92H这是文本内容,我要是手动把前面的                 这些内容删除可以获取到内容,但是不删就是不行,请问下各位大侠,我哪里出问题了,本人小白,求各位不咅赐教,感激不尽。
  1. @echo off
  2. del 3.txt
  3. type D:\OA3.bin >3.txt
  4. for /F "delims=,tokens=14" %%i in (3.txt) do (
  5. echo %%i
  6. echo %%j
  7. )
  8. pause
复制代码

作者: wujunkai    时间: 2020-3-30 15:37

回复 1# lihui612ld


    把bin传上来看看?
作者: lihui612ld    时间: 2020-3-30 16:24

回复 2# wujunkai


    已经上传了,需要把ZIP后缀改成BIN才能打开
作者: wujunkai    时间: 2020-3-30 16:41

回复 3# lihui612ld


    在实际应用中,bin文件是只有一行还是?
    如果只有一行,就简单了
  1. @echo off
  2. set /P sentence=<OA3.bin
  3. echo %sentence%
  4. pause
复制代码

作者: lihui612ld    时间: 2020-3-30 17:22

回复 4# wujunkai


    只有一行,                 48QH8-9NJJQ-QYVMV-CWKR9-MG92H这是那一行的内容,我需要从这一行中提出48QH8-9NJJQ-QYVMV-CWKR9-MG92H这些内容,把这个字符串赋值给一个变量,我写的显示的是空白
作者: wujunkai    时间: 2020-3-30 18:31

回复 5# lihui612ld
  1. @echo off
  2. set /P sentence=<OA3.bin
  3. set "sentence=%sentence:~-29%"
  4. echo %sentence%
  5. pause
复制代码
这个不使用任何匹配,只是读取了末尾的29个字符。。。。。
溜了溜了
作者: lihui612ld    时间: 2020-3-30 18:52

回复 6# wujunkai


   大侠请留步,能不能说下:~-29%这句是什么意思 ,关于运算方面的不懂,能不能讲解下
作者: went    时间: 2020-3-30 18:58

回复 1# lihui612ld


    你这文本里也没逗号,怎么用逗号做分隔符了
作者: went    时间: 2020-3-30 19:00

  1. @echo off
  2. for /f "tokens=4 delims= " %%i in ('type "D:\OA3.bin"') do set "value=%%i"
  3. echo %value%
  4. pause&exit
复制代码
试试这个吧
作者: wujunkai    时间: 2020-3-30 19:34

回复 7# lihui612ld


    从倒数第29个字符开始,一直截取到结尾
作者: Batcher    时间: 2020-3-30 20:25

回复 1# lihui612ld
  1. @echo off
  2. for /f "tokens=4" %%a in ('type "D:\OA3.bin"') do (
  3.     echo,%%a
  4. )
  5. pause
复制代码

作者: Batcher    时间: 2020-3-30 20:26

回复 7# lihui612ld


参考 set 命令教程第8页:字符串截取
http://bbs.bathome.net/thread-31727-1-1.html




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