标题: [文本处理] 批处理合并题目和答案求教 [打印本页]
作者: mize 时间: 2014-3-10 13:24 标题: 批处理合并题目和答案求教
问题
1.txt内容:- 1.xxxxx:
- 2.xxxxx:
- 3.xxxxx:
复制代码
2.txt内容复制代码
合成如下形式:- 1.xxxxx:a
- 2.xxxxx:b
- 3.xxxxx:c
复制代码
我是这么写的:- @echo off&setlocal enabledelayedexpansion
- for /f "tokens=1-3" %%i in (a.txt) do (
- set a1=%%i
- set a2=%%j
- set a3=%%k
- for /l %%j in (1,1,3) do (
- set a%%j=!a%%j:~-1!
- )
- )
- set i=1
- for /f "delims=" %%m in (q.txt) do (
- rem another way => call echo %%m %%a!i!%%
- for %%i in (!i!) do echo %%m !a%%i!
- set /a i=i+1
- )
- pause
复制代码
吭吭哧哧写出来的,觉得太麻烦,而且也不能通用。
如果题目不止3道就不行了。有什么通用的解决方法么?
求教。
作者: zhanglei1371 时间: 2014-3-10 14:57
(for /f "tokens= 1* delims=." %%i in ('sed "s/ /\n/g" 2.txt') do (
set/p str=
echo !str! %%j
))<1.txt>结果.txt
作者: mize 时间: 2014-3-10 16:15
回复 2# zhanglei1371
谢谢,sed 果然强大方便,是该学学了。
作者: terse 时间: 2014-3-10 21:22
P可以这样- @echo off&setlocal enabledelayedexpansion
- (for /f "tokens=*" %%i in (2.txt) do (
- for %%j in (%%i) do (
- set s1=%%j
- set/p s2=
- echo !s2!!s1:*.=!
- )
- ))<1.txt
- pause
复制代码
作者: mize 时间: 2014-3-11 13:48
回复 4# terse 复制代码
的这种写法太牛了!!
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |