杜阳 发表于 2017-11-4 16:03:38

文件数据合并问题

各位大师好,请教一个问题现在就是将多个txt文件里的数据合并在一个新txt里面   怎么可以搞出来呢
例如   1.txt    2.txt   3.txt      4.txt   5.txt等等里面的数据都归到一个新的文件   总数据.txt中去啊
查了   vl-file-copy函数,dos_mergefiles函数    dos_mergefile函数   都没有实现请各位大师出手相助

杜阳 发表于 2017-11-5 13:33:39

fools 发表于 2017-11-4 21:17
这句是文件所在目录,单列出来就是为了让你自己改
(setq directory "e:/tmp/")

我搞错了实现了    谢谢老师   那么如果我有更多的文件   
(mapcar      '(lambda (x) (vl-file-copy (strcat directory (itoa x) ".txt") (strcat directory "总数据.txt") T))
      '(1 2 3 4 5)
)

这个 '(1 2 3 4 5)怎么办呢   可以用一个表数据有多少文件   自己生成表   然后合并呢

fools 发表于 2017-11-5 15:46:54

复制目录中的所有文件

(setq directory "e:/tmp/")
(mapcar        '(lambda (x) (vl-file-copy (strcat directory x) (strcat directory "总数据.txt") T))
        (vl-directory-files directory "*.dat" 1) ;_获取目录中扩展名为dat的所有文件
)


你的DAT文件已经在目录中,所以不存在创建目录的说法。如果想用VLISP创建目录,用vl-mkdir

(setq directory "e:/tmp/")
(and (not (vl-file-directory-p directory)) (vl-mkdir directory)) ;_目录不存在时创建目录

fools 发表于 2017-11-4 16:35:42


;;(vl-file-copysource-file destination-file )
;;append:如果指定该参数且其值不为 nil,source-file 将附加到 destination-file (即复制到目标文件的尾部)。

(setq directory "e:/tmp/")
(mapcar        '(lambda (x) (vl-file-copy (strcat directory (itoa x) ".txt") (strcat directory "总数据.txt") T))
        '(1 2 3 4 5)
)


yxp 发表于 2017-11-4 18:48:27

copy 1.txt + 2.txt sum.txt

xxxyyyzzz 发表于 2017-11-4 19:25:21

yxp 发表于 2017-11-4 18:48
copy 1.txt + 2.txt sum.txt

现在很多人不会dos命令了

杜阳 发表于 2017-11-4 21:04:43

yxp 发表于 2017-11-4 18:48
copy 1.txt + 2.txt sum.txt

用lisp怎么使用啊

杜阳 发表于 2017-11-4 21:05:36

fools 发表于 2017-11-4 16:35


没有反应   是哪里还????

fools 发表于 2017-11-4 21:17:34

这句是文件所在目录,单列出来就是为了让你自己改
(setq directory "e:/tmp/")

杜阳 发表于 2017-11-5 13:29:00

fools 发表于 2017-11-4 21:17
这句是文件所在目录,单列出来就是为了让你自己改
(setq directory "e:/tmp/")

这一句我知道我按照这一句建立一个文件夹没有反应

杜阳 发表于 2017-11-5 13:42:15

fools 发表于 2017-11-4 21:17
这句是文件所在目录,单列出来就是为了让你自己改
(setq directory "e:/tmp/")

(setq f1 (vl-directory-files " " "*.dat" 1))这样一句是不是就可以得到路径中的所有文件了老师
页: [1] 2
查看完整版本: 文件数据合并问题