[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[代码合集] [已解决]批处理怎样提取出文本中每行指定位置的字符等于指定字符的行?

  1. del /f 1.txt
  2. setlocal enabledelayedexpansion
  3. for /f "delims= tokens=1*" %%i in (birth-source.txt) do (
  4. set a=%%i
  5. set b=%a:~6,2%
  6. if b==19 echo %%i>>1.txt)
复制代码
想法是判断第一个字符串的第78位,如果等于19,则把符合条件的所有的整行输出到1.txt中。
现在不仅不能输出,还乱码了。。。
我是BAT新手,修改了一下午实在弄不懂了。。。求大大帮忙
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

谢谢2楼和3楼的前辈,问题解决了,可是为什么导出的汉字变成了乱码啊?

TOP

本帖最后由 kmomo 于 2012-5-25 08:58 编辑
回复  kmomo


    用记事本打开birth-source.txt,文件,另存为,看看编码格式是什么
gawk 发表于 2012-5-25 01:21



    birth-source.txt,文件是UTF-8的,、

bat和结果文件1.txt都是ANSI的。

TOP

你在IF里调用b变量的时候忘记了引用符,而且开了变量延迟,引用符是惊叹号

另外要用节选和替换功能的时候 ...
poter 发表于 2012-5-28 19:34



    谢谢大大了我一直不知道%和!的分别
..为什么不能评分了
BAT真是好玩又方便的小程序

TOP

返回列表