Board logo

标题: [文本处理] 请教批处理查找txt文本里某些字符后面的字符 [打印本页]

作者: njcj2008    时间: 2022-5-15 13:39     标题: 请教批处理查找txt文本里某些字符后面的字符

本帖最后由 njcj2008 于 2022-5-15 16:41 编辑

比如"c:\1.txt"内存如下
FreeSpace=63721693184
Size=128026447872
---------------
比如我要查找 ,里面的   Size=  后面的值获取成变量,之后会做数字大小的比较,一直没写出来,请问哪个大神能指点,帮忙完善一下。谢谢。
  1. @echo off
  2. set KEY="Size="
  3. for /F "tokens=2* delims= " %%A in ('findstr %KEY% c:\1.txt') do set Findit=%%B
  4. echo 找到:%Findit%
  5. pause
复制代码

作者: Batcher    时间: 2022-5-15 15:32

回复 1# njcj2008


    请把你写的发出来看看,我帮忙修改。
作者: njcj2008    时间: 2022-5-15 16:25

本帖最后由 njcj2008 于 2022-5-15 16:41 编辑

回复 2# Batcher
  1. @echo off
  2. set KEY="Size="
  3. for /F "tokens=2* delims= " %%A in ('findstr %KEY% c:\1.txt') do set Findit=%%B
  4. echo 找到:%Findit%
  5. pause
复制代码

作者: Batcher    时间: 2022-5-15 16:53

回复 3# njcj2008


试试这样可以找到吗:
如果不行,请把你的1.txt上传到阿里云盘或百度网盘
  1. @echo off
  2. set KEY="Size="
  3. for /f "tokens=2 delims==" %%a in ('findstr %KEY% 1.txt') do set Findit=%%a
  4. echo 找到:%Findit%
  5. pause
复制代码

作者: njcj2008    时间: 2022-5-15 17:18

回复 4# Batcher


   
找到了,谢谢,我之前文本的编码有问题。感谢 。
作者: njcj2008    时间: 2022-5-15 18:12

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "tokens=2 delims==" %%a in ('wmic logicaldisk c: get Size/value') do set tsize=%%a
  4. for /f "tokens=2 delims==" %%b in ('wmic logicaldisk c: get FreeSpace/value') do set fsize=%%b
  5. set gbtsize=%tsize:~0,-10%
  6. set gbfsize=%fsize:~0,-10%
  7. echo %gbtsize%
  8. echo %gbfsize%
  9. echo 判断是否大于20GB
  10. if %gbtsize% LSS 20 ( echo 小于 ) else (echo 大于)
  11. pause
复制代码





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