标题: [系统相关] 批处理如何搜索文本空格前面数字并将后面文字作为一个变量? [打印本页]
作者: 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
- @echo off
- setlocal enabledelayedexpansion
- rem 假设文本是c:\hello.txt
- set a=
- for /f "tokens=1,2" %%i in (c:\hello.txt) do (set a=%%j & echo !a!
- )
- 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
- @echo off
- set str=没查着
- set /p input=请输入3位或4位数字:
- for /f "tokens=1-2" %%a in (1.txt) do (
- if "%%a" equ "%input%" (
- set "str=%%b"
- )
- )
- echo,%str%
- pause
复制代码
作者: caruko 时间: 2011-2-24 11:45
完全没看懂...
看前几句有点头绪,后面一看不知道说什么..
作者: wc726842270 时间: 2011-2-24 12:47
LZ是这个意思吧。前面的我可没看啊- @echo off&setlocal enabledelayedexpansion
- for /f "tokens=1* delims= " %%i in (a.txt) do set "%%i=%%j"&&echo !%%i!
- 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 |