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

[文本处理] [已解决]批处理如何按字编码做成快速查找字典?

本帖最后由 lfoqtal 于 2011-8-1 08:05 编辑

我想将文本中的每个字都加以编号,可以快速查找字的编码或按编码返回相应的字
初编了以下程序,也就是一个小字典。
但发现如果将《千字文》这类很大的文本放入就会出现很多函数,
函数过多会不会影响速度?
有没有更便捷耗内存少的方案?
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set 原文=0123456789abcdefghijklmnopqrstuvwxyz
  4. for /l %%a in (0 1 35) do set  _!原文:~%%a,1!=%%a
  5. set /p p=请输入文字:
  6. echo (%p%)的对应代码为!_%p%!
  7. pause
  8. set /p p=请输入代码:
  9. for /f "tokens=1 delims=_=" %%a in ('set _ ^|findstr "=%p%$"') do echo %p%代码对应文字为%%a
  10. pause
复制代码
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2
通用简洁实用就是批处理精神

本帖最后由 lfoqtal 于 2011-7-30 17:01 编辑

回复 2# else


    一个变量,用偏移的方法取位还是很好用的,但如何知道某一字符在这一变量中的位置呢?如果用IF的方式一个个对不是效率很低
通用简洁实用就是批处理精神

TOP

回复 4# tmplinshi


生成临时文件倒是一个好办法,
但我想用来做密码的译码本就最好不要生成临时文件,
还有什么方法吗?
通用简洁实用就是批处理精神

TOP

想帮你加分来着没办法了,24小时后帮你加上去

本帖最后由 lfoqtal 于 2011-7-31 16:49 编辑

回复 6# tmplinshi

谢谢!
通用简洁实用就是批处理精神

TOP

本帖最后由 lfoqtal 于 2011-7-31 17:01 编辑

回复 10# tmplinshi


    是啊不能用中文,而且输入不存在的号或字就会出乱子

8楼的可以用,但1000号有错,n=999就OK了,非常感谢,
但如果把
  1. set 密钥 |findstr /c:" %p% " ||echo 无此字符;无此代码
复制代码
的值放入FOR中要怎么做能生效呢?
通用简洁实用就是批处理精神

TOP

本帖最后由 lfoqtal 于 2011-7-31 17:37 编辑
  1. for /f "tokens=1,2" %%a in ('set 密钥 ^|findstr /c:" %p% " ^|^|echo 无此代码;无此字符') do echo 代码:%%a  字符:%%b
复制代码
搞定了原来是这样,试了好几次

弱弱的要求下,如果能用000~999做代码就更理想了!
通用简洁实用就是批处理精神

TOP

回复 13# mxxcgzxxx


    很好很强大也,基本能看懂,我自己改吧!
通用简洁实用就是批处理精神

TOP

返回列表