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

[文本处理] [已解决]批处理如何做到逐字分解函数数值?

本帖最后由 mxxcgzxxx 于 2011-4-30 10:09 编辑

有一个1.txt 内有长度不等的字符,需要读取后将其逐字分解。
我知道是用FOR语句,但应该怎么样来确定字符的长度呢?
1.txt
  1. --序---------字符--------
  2.   1          asfafwef
  3.   2          qwerqr
  4.   3          wqer
  5.   4          vavv
  6.   5          bt
  7.   6          一二三
  8.   7          天上地下
复制代码
a.bat
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. :1
  4. rem 读取文档生成菜单
  5. cls
  6. echo.
  7. echo.
  8. for /f "skip=1 tokens=1,2 delims= " %%1 in (a.txt) do (echo %%1      %%2)&(set a%%1=%%2)&(set /a m=%%1+1)
  9. echo %m%      退出
  10. echo.
  11. echo.
  12. set /p p=请选择需要分解的字符:
  13. if %p%==%m% goto :eof
  14. for /l %%1 in (0,1,10) do echo !a%p%:~%%1,1!
  15. pause
  16. goto :1
复制代码
1

评分人数

    • batman: 感谢给帖子标题标注[已解决]字样PB + 2
世界上没有学不会的知识,也没有想得到却做不到的事!

参考:批处理最大限度原样输出含特殊字符的指定行内容
http://bbs.bathome.net/thread-4580-1-1.html
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

论坛有n种计算字符串长度的方法,楼主可以去搜索一下。。。
***共同提高***

TOP

谢了,版主们都很勤劳啊!呵呵
参考了下论坛,对于我这个没有特殊字符的看来关键判断下是不是输出了空值就行了
如果有特殊字符就要像一楼一样来转义了
我改了下倒数第三句FOR,加入IF判断跳转就行了,这样不会太复杂。感谢大家!
  1. for /l %%1 in (0,1,10) do (if "!a%p%:~%%1,1!"=="" goto :2)&(echo !a%p%:~%%1,1!)
  2. :2
复制代码
世界上没有学不会的知识,也没有想得到却做不到的事!

TOP

返回列表