标题: [文本处理] 怎么让BAT脚本将两个文档的内容一一对应 [打印本页]
作者: lihui612ld 时间: 2021-10-5 14:04 标题: 怎么让BAT脚本将两个文档的内容一一对应
有两个文档,a.txt内容为
1
2
3
4
5
b.txt内容为
a
b
c
d
e,怎么做才能让脚本将两个文档的内容一一对应,就是把a.txt\b.txt里的内容当变量放到C脚本里执行,但是需要每一行都能对应上
作者: idwma 时间: 2021-10-5 15:22
- @echo off
- setlocal enabledelayedexpansion
- for /f "delims=" %%i in (a.txt) do (
- set /a n+=1
- set a.txt.!n!=%%i
- )
-
- set n=
- for /f "delims=" %%i in (b.txt) do (
- set /a n+=1
- set b.txt.!n!=%%i
- )
-
- for /l %%i in (1,1,%n%) do echo !a.txt.%%i! !b.txt.%%i!
- pause
复制代码
作者: qixiaobin0715 时间: 2021-10-5 15:27
以前见过一个for循环就能解决的。
作者: idwma 时间: 2021-10-5 16:13
回复 3# qixiaobin0715
想不出来兄台请指教
作者: qixiaobin0715 时间: 2021-10-5 16:18
大概就是50楼的样子。
http://www.bathome.net/thread-1239-4-1.html
作者: idwma 时间: 2021-10-5 16:27
回复 5# qixiaobin0715
前辈们真神了呀- @echo off
- (for /f "delims=" %%a in (a.txt) do (
- endlocal
- set/p =%%a<nul
- setlocal enabledelayedexpansion
- set /p t2=
- if defined t2 echo;!t2!
- ))<b.txt
- pause
复制代码
作者: qixiaobin0715 时间: 2021-10-5 16:37
< 输入重定向命令,从文件中读入命令输入。
set /p str=<a.txt
上面只能取第一行的信息,而利用for循环可以依次取值。
作者: lihui612ld 时间: 2021-10-8 09:03
然来已经解决了这个问题,真是神了,不过这段我看不懂
作者: qixiaobin0715 时间: 2021-10-8 09:16
回复 8# lihui612ld
上面代码需求不同,限定条件不同。如果a.txt和b.txt行数相同(因为你要一一对应),简化为下面代码,你可能更容易理解些。- @echo off
- setlocal enabledelayedexpansion
- (for /f %%a in (a.txt) do (
- set /p str=
- echo,%%a !str!
- ))<b.txt
- pause
复制代码
作者: lihui612ld 时间: 2021-10-12 09:39
回复 9# qixiaobin0715
@echo off
setlocal enabledelayedexpansion
(for /l %%a in (0,1,5) do (
set /p str=
echo,!str!
))<b.txt
pause
明白了
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |