明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3487|回复: 16

[提问] 文件数据合并问题

[复制链接]
发表于 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)怎么办呢   可以用一个表数据  有多少文件   自己生成表   然后合并呢
发表于 2017-11-5 15:46:54 | 显示全部楼层
复制目录中的所有文件
  1. (setq directory "e:/tmp/")
  2. (mapcar        '(lambda (x) (vl-file-copy (strcat directory x) (strcat directory "总数据.txt") T))
  3.         (vl-directory-files directory "*.dat" 1) ;_获取目录中扩展名为dat的所有文件
  4. )


你的DAT文件已经在目录中,所以不存在创建目录的说法。如果想用VLISP创建目录,用vl-mkdir
  1. (setq directory "e:/tmp/")
  2. (and (not (vl-file-directory-p directory)) (vl-mkdir directory)) ;_目录不存在时创建目录

评分

参与人数 2明经币 +3 收起 理由
USER2128 + 1 很给力!
xyp1964 + 2 很给力!

查看全部评分

发表于 2017-11-4 16:35:42 | 显示全部楼层
  1. ;;(vl-file-copy  source-file destination-file [append])
  2. ;;append:如果指定该参数且其值不为 nil,source-file 将附加到 destination-file (即复制到目标文件的尾部)。

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


评分

参与人数 1明经币 +2 收起 理由
xyp1964 + 2 很给力!

查看全部评分

发表于 2017-11-4 18:48:27 | 显示全部楼层
copy 1.txt + 2.txt sum.txt
发表于 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 | 显示全部楼层

没有反应   是哪里还????
发表于 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))这样一句是不是就可以得到路径中的所有文件了  老师  
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-5-19 23:21 , Processed in 0.298999 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表