Board logo

标题: [系统相关] 批处理如何搜索文本空格前面数字并将后面文字作为一个变量? [打印本页]

作者: jinzeyu    时间: 2011-2-22 19:55     标题: 批处理如何搜索文本空格前面数字并将后面文字作为一个变量?

有个文本文件每行前面是不同的数字(3位或4位)后面是不同的文字,中间有一个空格,把空格前面的数字提取出来,然后输入3位或4位数字比如123X(x为任意一位数字),有一行是123,就把改行空格后的文字作为变量%a%,再比如输入1234 有一行数字是1234 就把改行后面的文字作为变量%a%,求此批处理列举文本内容:
000 啊
8465 吧
121 才

我输入0005 a是 啊,输入5000 就相当于在文本文件中没查着 输入000a也是 啊
我输入8465 a是 吧 输入 846或465 就相当于在文本文件中没查着
输入121 是才 121X(x为任意一位数字),a就是 才 X121 相当于在文本文件中没查着

[ 本帖最后由 jinzeyu 于 2011-2-24 14:49 编辑 ]
作者: hanyeguxing    时间: 2011-2-22 20:18

彻底崩溃了,一点没看明白。。。
作者: Batcher    时间: 2011-2-22 20:42

能否在顶楼给点原始数据做例子,并给出希望的结果是什么?
作者: Hello123World    时间: 2011-2-23 16:48

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. rem 假设文本是c:\hello.txt
  4. set a=
  5. for /f "tokens=1,2" %%i in (c:\hello.txt) do (set a=%%j & echo !a!
  6. )
  7. pause
复制代码

作者: jinzeyu    时间: 2011-2-24 10:32

我编辑了      希望有人能回答
作者: Batcher    时间: 2011-2-24 10:51     标题: 回复 5楼 的帖子

就是把第二列放到变量里面吗?4楼的代码行不行?
作者: batman    时间: 2011-2-24 11:15

本人在群中好像就给出了解决的办法,可能楼主没有看到吧。。。

话说楼主的表达能力实在是太差了,中国的文字让你一组合怎么这么难懂。。。

[ 本帖最后由 batman 于 2011-2-24 11:17 编辑 ]
作者: jinzeyu    时间: 2011-2-24 11:20

原帖由 batman 于 2011-2-24 11:15 发表
本人在群中好像就给出了解决的办法,可能楼主没有看到吧。。。

话说楼主的表达能力实在是太差了,中国的文字让你一组合怎么这么难懂。。。

我改了一下
作者: Commander    时间: 2011-2-24 11:35

  1. @echo off
  2. set str=没查着
  3. set /p input=请输入3位或4位数字:
  4. for /f "tokens=1-2" %%a in (1.txt) do (
  5.     if "%%a" equ "%input%" (
  6.         set "str=%%b"
  7.     )
  8. )
  9. echo,%str%
  10. pause
复制代码

作者: caruko    时间: 2011-2-24 11:45

完全没看懂...
看前几句有点头绪,后面一看不知道说什么..
作者: wc726842270    时间: 2011-2-24 12:47

LZ是这个意思吧。前面的我可没看啊
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "tokens=1* delims= " %%i in (a.txt) do set "%%i=%%j"&&echo !%%i!
  3. pause
复制代码

作者: jinzeyu    时间: 2011-2-25 16:09

还是不能解决 啊!
作者: Batcher    时间: 2011-2-25 18:19     标题: 回复 12楼 的帖子

能否说一下为什么9楼和11楼无法满足需求?
作者: jinzeyu    时间: 2011-2-28 18:11

如果输入0001就不能出来 啊




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