设为首页收藏本站

晓东CAD家园-论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 436|回复: 7

[求助] 文件夹拷贝

[复制链接]
发表于 2017-6-7 21:07:43 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
各位好,想找一个文件夹拷贝的程序,能拷贝指定目录内多级文件夹及文件的程序

搜索了各种关键词,“文件夹”  “拷贝”,,翻了很多页,没找着

不知此前是否有过这样的帖子,或者,各位手头有这样的程序,不知可否分享一下
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 40个

财富等级: 招财进宝

发表于 2017-6-8 20:15:20 | 显示全部楼层
本帖最后由 newer 于 2017-6-8 20:19 编辑

晓东通用LISP函数库里面的xd::system:xcopy
(xd::system:xcopy  <原文件夹> <文件类型> <目标文件夹> <xcopy 开关参数>)
默认带的参数有: "/c/i/k/r/y/q"

例子:
  1. (xd::system:xcopy "c:\\abc" "*.*" "d:\\def" "/s")
  2. (xd::system:xcopy "c:\\abc" "*.exe" "d:\\def" "/s")


目标文件夹不存在会自动创建, /s 参数,是xcopy.exe命令的 带子目录拷贝开关

开关参数:


  1. 复制文件和目录树。

  2. XCOPY source [destination] [/A | /M] [/D[:date]] [/P] [/S [/E]] [/V] [/W]
  3.                            [/C] [/I] [/Q] [/F] [/L] [/G] [/H] [/R] [/T] [/U]
  4.                            [/K] [/N] [/O] [/X] [/Y] [/-Y] [/Z] [/B] [/J]
  5.                            [/EXCLUDE:file1[+file2][+file3]...]

  6.   source       指定要复制的文件。
  7.   destination  指定新文件的位置和/或名称。
  8.   /A           仅复制有存档属性集的文件,
  9.                但不更改属性。
  10.   /M           仅复制有存档属性集的文件,
  11.                并关闭存档属性。
  12.   /D:m-d-y     复制在指定日期或指定日期以后更改的文件。
  13.                如果没有提供日期,只复制那些
  14.                源时间比目标时间新的文件。
  15.   /EXCLUDE:file1[+file2][+file3]...
  16.                指定含有字符串的文件列表。每个字符串
  17.                在文件中应位于单独的一行。如果任何
  18.                字符串与复制文件的绝对路径的任何部分相符,
  19.                则排除复制该文件。例如,
  20.                指定如 \obj\ 或 .obj 的字符串会分别
  21.                排除目录 obj 下面的所有文件或带有
  22.                .obj 扩展名的所有文件。
  23.   /P           创建每个目标文件之前提示你。
  24.   /S           复制目录和子目录,不包括空目录。
  25.   /E           复制目录和子目录,包括空目录。
  26.                与 /S /E 相同。可以用来修改 /T。
  27.   /V           验证每个新文件的大小。
  28.   /W           提示你在复制前按键。
  29.   /C           即使有错误,也继续复制。
  30.   /I           如果目标不存在,且要复制多个文件,
  31.                则假定目标必须是目录。
  32.   /Q           复制时不显示文件名。
  33.   /F           复制时显示完整的源文件名和目标文件名。
  34.   /L           显示要复制的文件。
  35.   /G           允许将加密文件复制到
  36.                不支持加密的目标。
  37.   /H           也复制隐藏文件和系统文件。
  38.   /R           覆盖只读文件。
  39.   /T           创建目录结构,但不复制文件。不
  40.                包括空目录或子目录。/T /E 包括
  41.                空目录和子目录。
  42.   /U           只复制已经存在于目标中的文件。
  43.   /K           复制属性。一般的 Xcopy 会重置只读属性。
  44.   /N           用生成的短名称复制。
  45.   /O           复制文件所有权和 ACL 信息。
  46.   /X           复制文件审核设置(隐含 /O)。
  47.   /Y           取消提示以确认要覆盖
  48.                现有目标文件。
  49.   /-Y          要提示以确认要覆盖
  50.                现有目标文件。
  51.   /Z           在可重新启动模式下复制网络文件。
  52.   /B           复制符号链接本身与链接目标。
  53.   /J           复制时不使用缓冲的 I/O。推荐复制大文件时使用。

  54. 开关 /Y 可以预先在 COPYCMD 环境变量中设置。
  55. 这可能被命令行上的 /-Y 覆盖。

复制代码





论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-6-8 23:51:36 | 显示全部楼层

谢谢版主,,,

那个(xd::system:xcopy "c:\\abc" "*.*" "d:\\def" "/s")不知怎用

我这有个类似的,可以劳你帮忙注解一下么,那些高级函数实在看不懂

;;文件夹文件比较并拷贝不同的
(defun C:tt (/ file1 file2 mb bbp finfile i)
  (princ "\n读取源文件夹:")
  (princ)
  (setq file1 (qf_getFolder "读取源文件夹:"))
  (princ "\n目标文件夹:")
  (princ)
  (setq file2 (qf_getFolder "目标文件夹:"))
  (setq bbp (cddr (vl-directory-files file1)))
  (setq i 0
a 0
  )
  (repeat (length bbp)
    (setq mb (nth i bbp))
    (if (not (vl-file-directory-p (strcat file1 "\\" mb))) ;;这个vl-file-directory-p是什么动作?
      (progn
(setq finfile (findfile (strcat file2 "\\" mb))) ;;代表什么?
(if (not finfile)
   (progn
     (if (not (findfile (strcat file2 "\\" "new")));;代表什么?
       (vl-mkdir (strcat file2 "\\" "new"));;代表什么?
     )
     (vl-file-copy
       (strcat file1 "\\" mb)
       (strcat file2 "\\" "new" "\\" mb)
     )
     (prin1 mb)
     (setq a (1+ a))
   )
)
      )
    )
    (setq i (1+ i))
  )
  (princ "拷贝文件数总共")
  (prin1 a)
  (princ)
);;文件夹文件比较并拷贝不同的

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2017-6-8 23:54:20 | 显示全部楼层
你加载 晓东通用LISP函数库后,

执行这句代码就行了

(xd::system:xcopy "c:\\abc" "*.*" "d:\\def" "/s")  目录字符串自己改需要的
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2017-6-8 23:55:50 | 显示全部楼层
函数介绍去看手册

vl-file-directory-p 测试后面的字符串是不是一个目录
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2017-6-8 23:57:43 | 显示全部楼层

你注释的那些,都是VLISP的函数, 做什么的,手册介绍的很清楚,搜索论坛  葵花宝典, 下载那个手册回去看 。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 6455个

财富等级: 富甲天下

发表于 2017-6-9 00:06:32 | 显示全部楼层
谢谢N版。   
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-6-9 15:06:59 | 显示全部楼层

谢谢你,,,,,
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|小黑屋|手机版|Archiver|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )  

GMT+8, 2019-11-15 03:03 , Processed in 0.168068 second(s), 38 queries , Gzip On, WinCache On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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