Board logo

标题: 【已结,多谢大家帮助】如何按列输出文字至TXT [打印本页]

作者: blancy     时间: 2009-11-28 17:27    标题: 【已结,多谢大家帮助】如何按列输出文字至TXT

我只知道按行输出的方法,不知DOS是否有按列输出的,现有如下需求,请大家帮忙

现有如下两个文件,a.txt内容为
1
2
3
b.txt内容如下
4
5
6
想要得到的c.txt内容如下
1  4
2  5
3  6

(4,5,6那列后面还可以有很多列的)
请问大家,可以实现吗

[ Last edited by blancy on 2009-12-28 at 12:25 ]
作者: HAT     时间: 2009-11-28 18:04

paste -d " " a.txt b.txt >c.txt

作者: blancy     时间: 2009-11-28 18:32
我试了,但是DOS提示paste不是内部或外部命令....
作者: ccwan     时间: 2009-11-29 08:47
paste.exe
http://upload.cn-dos.net/img/525.zip
作者: blancy     时间: 2009-11-29 22:46
是否可以详细说明一下这个是什么?
是一个安装软件?可执行程序?希望自己可以知其然知其所以然,多谢
作者: qq275757820     时间: 2009-12-2 07:56
你可以利用FOR来一下比如这样,以下是不完整的,需要你的a.txt与b.txt第一行是空出来的,而且当任何一个没有数值了 就会退出不再生成
@echo off
set c=1
:start
for /f "skip=%c% tokens=1 delims= " %%a in (a.txt) do (
for /f "skip=%c% tokens=1 delims= " %%b in (b.txt) do (
echo %%a %%b>>c.txt
set /a c=c+1
goto start
))

作者: BeeButterflyDos     时间: 2009-12-2 21:22
以下代码应该可以帮你解决问题,但所有文本中的行数必须相等。
@echo off
setlocal enabledelayedexpansion

for %%a in (*.txt) do (
        set n=0
        for /f %%b in (%%a) do (
                set /a n=!n!+1
                call set L!n!=%%L!n!%% %%b))
for /l %%a in (1,1,%n%) do echo !L%%a!>>final.txt
pause

作者: blancy     时间: 2009-12-28 12:25
多谢大家