-
2019-07-13 14:25:20
xcopy 拓展的复制命令
- 复制目录和下面的文件,保持目录结构
- 不能复制系统文件、隐藏文件
- xcopy 源路径 目标路径
- 常用
- 复制并且覆盖
- xcopy /y srcPath dstPath
- 复制目录和目录下文件并且对目录下的子目录和子目录的文件进行复制
- xcopy /s srcPath dstPath
- 复合参数
- xcopy /s /y srcPath dstPath
- 复制过程中跳过某些文件
xcopy /s/y/exclude:excludefileslist.txt
- excludefileslist.txt
- 这个文件里面是列表,标记不想复制的文件是什么,执行xcopy的时候指出这个过滤文件的路径即可
- 上面的命令表明过滤文件和命令执行的位置相同
- 下面的例子展示了复制文件夹夹的时候不要复制里面后缀为.log的文件
.log\
- 复制并且覆盖
更多相关内容 -
Python 移动文件夹所有的文件到另外一个文件夹,重复的跳过
2019-09-20 12:09:45import os,shutil def move_file(orgin_path,moved_path): dir_files=os.listdir(orgin_path) #得到该文件夹下所有的文件 for file in dir_files: file_path=os.path.join(orgin_path,file) #路径拼...import os,shutil def move_file(orgin_path,moved_path): dir_files=os.listdir(orgin_path) #得到该文件夹下所有的文件 for file in dir_files: file_path=os.path.join(orgin_path,file) #路径拼接成绝对路径 if os.path.isfile(file_path): #如果是文件,就打印这个文件路径 if file.endswith(".txt"): if os.path.exists(os.path.join(moved_path,file)): print("有重复文件!!,跳过,不移动!!!") continue else: shutil.move(file_path, moved_path) if os.path.isdir(file_path): #如果目录,就递归子目录 move_file(file_path,moved_path) print("移动文件成功!") if __name__ == '__main__': orgin_path = r'C:\Users\Administrator\Desktop\AiShu\AiShuWork\from' # 这个是你数据源 文件夹 moved_path = r'C:\Users\Administrator\Desktop\AiShu\AiShuWork\from_to' # 这个是你想要移动到哪里的的文件夹 move_file(orgin_path,moved_path)
-
Linux中拷贝目录跳过指定文件的方法
2021-05-08 22:38:42普通的 cp 命令并没有排除某个文件或文件夹的参数,比较丑陋点可以 cp -r 拷贝完目录之后再去删除无用的,但如果做批量脚本操作就不爽了,经过实际试验之后暂时找到两个比较好的方法。1、使用 rsync 进行拷贝:rsync...近日在 Linux 环境中做版本迁移的时候遇到一个问题:需要将一个目录遍历拷贝到另一个目录中,但需要忽略其中的某些文件,由于目录中东西比较多,忽略的项也不好一一指定。普通的 cp 命令并没有排除某个文件或文件夹的参数,比较丑陋点可以 cp -r 拷贝完目录之后再去删除无用的,但如果做批量脚本操作就不爽了,经过实际试验之后暂时找到两个比较好的方法。
1、使用 rsync 进行拷贝:
rsync 本来是文件同步备份的工具,相对于普通的 cp 命令,rsync 在控制方面就强多了,而且 rsync 对遍历目录也支持,有 --exclude 参数可以忽略指定的文件或文件夹。
rsync -vaP --exclude=".*" --exclude="Makefile" dir1 /home/dir2
如上面演示的就可以排除掉隐藏文件和 Makefile 文件,-a 参数已经包含遍历处理参数 -r。
2、使用 find 加 cpio 进行拷贝:
备注:此方法来自 Advanced Bash-Scripting Guide,需要了解的童鞋自己去参考了。
用过 find 的童鞋都知道,find 对文件的过滤那是非常强大的,配合 cpio 来进行目录的遍历拷贝就可以实现过滤指定的文件或文件夹,当然也可以做到只备份特定的文件或文件夹,你可以用 find 的各种过滤参数达到拷贝哪天的文件,拷贝近期更改的文件等特殊效果,而且 find 支持正则表达式,这种方式想比第一种使用 rsync 跳过文件的方式更加灵活,因此非常推荐使用此方式进行目录拷贝。
cd dir1
find . -regextype posix-egrep -mindepth 1 ! -regex './(dev|tmp)($|/.*)' ! -name Makefile -a ! -name .svn | cpio -admvp /home/dir2
小解释下:
find 的 -regextype 参数指定正则表达式类型,posix-egrep 为 egrep 用的扩展正则表达式,-mindepth 使 find 的输出中不包括目录本身,-regex 参数指定过滤的文件的正则表达式,-regex 前面的感叹号表示跳过,'./(dev|tmp)($|/.*)' 这个正则表达式即表示跳过目录中的第一层 dev 和 tmp 目录以及下面所有的文件和文件夹,最后两个 -name 指定要跳过文件名为 Makefile 和 .svn 的文件,这样在备份版本库的时候非常有用。
cpio 命令将 find 的输出文件列表依次拷贝到 /home/dir2 目标目录中,-a 表示不更新文件的访问时间,-d 指定自动创建目录,-m 指定保留文件的修改时间,-p 指定 cpio 工作在 Copy-pass 模式,这是专门用来拷贝目录树的一种模式。
PS:如果有更加简单的方法,欢迎提出指正哦~~~ ^_^
-
linux cp指令,怎么跳过相同的文件
2021-05-08 22:39:361、使用cp命令的-n参数即可跳过相同的文件 。2、cp命令使用详解:1)、用法:cp [选项]... [-T] 源文件 目标文件或:cp [选项]... 源文件... 目录或:cp [选项]... -t 目录 源文件...将源文件复制至目标文件,或将多...1、使用cp命令的-n参数即可跳过相同的文件 。
2、cp命令使用详解:
1)、用法:cp [选项]... [-T] 源文件 目标文件
或:cp [选项]... 源文件... 目录
或:cp [选项]... -t 目录 源文件...
将源文件复制至目标文件,或将多个源文件复制至目标目录。
2)、长选项必须使用的参数对于短选项时也是必需使用的。
-a, --archive等于-dR --preserve=all
--backup[=CONTROL为每个已存在的目标文件创建备份
-b类似--backup 但不接受参数
--copy-contents在递归处理是复制特殊文件内容
-d等于--no-dereference --preserve=links
-f, --force如果目标文件无法打开则将其移除并重试(当 -n 选项
存在时则不需再选此项)
-i, --interactive覆盖前询问(使前面的 -n 选项失效)
-H跟随源文件中的命令行符号链接
-l, --link链接文件而不复制
-L, --dereference总是跟随符号链接
-n, --no-clobber不要覆盖已存在的文件(使前面的 -i 选项失效)
-P, --no-dereference不跟随源文件中的符号链接
-p等于--preserve=模式,所有权,时间戳
--preserve[=属性列表保持指定的属性(默认:模式,所有权,时间戳),如果
可能保持附加属性:环境、链接、xattr 等
-c same as --preserve=context
--sno-preserve=属性列表不保留指定的文件属性
--parents复制前在目标目录创建来源文件路径中的所有目录
-R, -r, --recursive递归复制目录及其子目录内的所有内容
--reflink[=WHEN]控制克隆/CoW 副本。请查看下面的内如。
--remove-destination尝试打开目标文件前先删除已存在的目的地
文件 (相对于 --force 选项)
--sparse=WHEN控制创建稀疏文件的方式
--strip-trailing-slashes删除参数中所有源文件/目录末端的斜杠
-s, --symbolic-link只创建符号链接而不复制文件
-S, --suffix=后缀自行指定备份文件的后缀
-t, --target-directory=目录将所有参数指定的源文件/目录
复制至目标目录
-T, --no-target-directory将目标目录视作普通文件
-u, --update copy only when the SOURCE file is newer
than the destination file or when the
destination file is missing
-v, --verbose explain what is being done
-x, --one-file-system stay on this file system
-Z, --context=CONTEXT set security context of copy to CONTEXT
--help显示此帮助信息并退出
--version显示版本信息并退出
3)、默认情况下,源文件的稀疏性仅仅通过简单的方法判断,对应的目标文件目标文件也
被为稀疏。这是因为默认情况下使用了--sparse=auto 参数。如果明确使用
--sparse=always 参数则不论源文件是否包含足够长的0 序列也将目标文件创文
建为稀疏件。
使用--sparse=never 参数禁止创建稀疏文件。
4)、当指定了--reflink[=always] 参数时执行轻量化的复制,即只在数据块被修改的
情况下才复制。如果复制失败或者同时指定了--reflink=auto,则返回标准复制模式。
5)、备份文件的后缀为"~",除非以--suffix 选项或是SIMPLE_BACKUP_SUFFIX
环境变量指定。版本控制的方式可通过--backup 选项或VERSION_CONTROL 环境
变量来选择。以下是可用的变量值:
none, off 不进行备份(即使使用了--backup 选项)
numbered, t 备份文件加上数字进行排序
existing, nil 若有数字的备份文件已经存在则使用数字,否则使用普通方式备份
simple, never 永远使用普通方式备份
6)、有一个特别情况:如果同时指定--force 和--backup 选项,而源文件和目标文件
是同一个已存在的一般文件的话,cp 会将源文件备份。
取消
评论
-
Linux cp指令,怎么跳过相同的文件
2021-05-08 22:39:291、使用cp命令的-n参数即可跳过相同的文件 。2、cp命令使用详解:1)、用法:cp [选项]... [-T] 源文件 目标文件或:cp [选项]... 源文件... 目录或:cp [选项]... -t 目录 源文件...将源文件复制至目标文件,或将多... -
批量复制文件并自动删除重复文件
2013-09-08 09:46:16批量复制文件 如果目标文件夹中有重复原文件夹中的文件 则自动删除 -
ftp服务器复制粘贴文件夹
2021-08-10 09:08:38ftp服务器复制粘贴文件夹 内容精选换一换下载地址:https://varnish-cache.org/_downloads/varnish-6.2.0.tgz若服务器可以访问网络,则可以直接在服务器上使用wget命令下载源码。--prefix=PATH:指定Varnish的安装... -
Mac下解决复制重复文件时,没有像Windows“保留二者”的选项 - Mac文件夹合并,保留重复文件 - xx(1).jpg
2020-03-09 12:48:16你需要在Mac下复制文件到文件夹“B”,但是有部分文件重复了,这时系统没有“保留二者”的选项,只能"跳过","停止","替换",这个简单的要求"保留"为什么不做出来?APP store里面有收费的软件针对这个小问题,¥30... -
Linux scp命令复制文件到其它服务器上
2021-08-13 01:04:35例如:我想将59.64.30.101中的文件复制到59.64.28.78服务器...密钥生成后会在/root/.ssh/文件夹下产生两个文件id_rsa id_rsa.pub将id_rsa.pub文件复制到59.64.28.78执行如下命令scp id_rsa.pub root@59.64.28.78:/ro... -
【无标题】复制文件夹遇到同名怎么办
2022-04-12 08:53:50我们在复制文件过程中如果遇到重名的文件该怎么做,手动一个一个去修改很麻烦耗费时间,这里小编分享一个方法教你一键操作,一起来试试吧。...当遇到文件上有同名文件出现,根据自己情况选择覆盖、跳过等等 ... -
复制文件到指定文件夹中遇同名时怎么办
2022-03-01 15:32:01很多的时候电脑里的文件需要进行复制到指定的各个文件夹中去粘贴,在粘贴的过程中如果是遇到有同名文件时如何处理呢?下面就分享复制的技巧,一起来试试。 准备工具: 下载一个文件批量改名高手 多个文件或文件夹 ... -
linux cp命令跳过已存在文件
2021-09-08 10:33:45awk 'BEGIN { cmd="cp -ri a/* b/"; print "n" |cmd; }' // 注:a为原文件夹,b为目标文件夹 -
ubuntu 复制跳过同名文件 cp 不覆盖
2019-10-09 08:40:54谷歌搜了半天才找到,就很奇怪,可能是关键字不对。于是就水了这么一篇 使用cp --help打开帮助文档: 看键值 -n的解释:不会重写已经存在的文件,如果想要交互式向win一样问你是否重写,那就用 -i ... -
python实现比对两个文件夹下的所有文件,将不同文件复制到文件夹3,相同文件复制到文件夹4
2022-01-03 10:29:17# 将in_path文件夹里的所有文件复制到out_path中 def copy_file(in_path, out_path): if not os.path.isdir(in_path): shutil.copy(in_path, out_path) else: if not os.path.exists(out_path): os.makedirs... -
想要将电脑上的视频全部复制到一个文件夹当中可以吗?
2022-05-12 14:42:001、其实方法也并不难,我们借助一些小工具,就可以快速完成视频批量复制,并且还可以自动跳过同名文件,避免重复,下面就来交大家怎么操作。 2、这边需要用到的工具叫做固乔文件管家,他可以帮助我们批量的对文件... -
Mac 深坑:重名文件复制不自动保留两者
2021-09-26 01:09:08Mac 大批量复制文件时,发现相同名称的文件没办法自动重命名 ...如果你选择了上面的“跳过”,那不可避免就丢掉了文件。 正确的做法是在这个界面时,按一下option键,选择出现的保留两者即可 ... -
Duplicate Cleaner Pro 4.0.2中文破解版-查找重复文件软件.rar
2019-09-05 04:15:29主目录:仅寻找与此文件夹匹配的重复文件。扫描本级:在此文件夹中扫描重复文件。搜索唯一项目:从此文件夹中显示唯一文件。安装后根据系统复制 license50.dll 到安装目录,输入任意注册码即可 -
文件处理技巧,如何快速复制并覆盖已存在的文件
2022-06-07 14:16:45当我们用Ctrl+C将很多大文件从一个文件夹复制到另一个文件夹时,不仅速度慢,而且遇到重复文件还需要手动点击跳过或覆盖,那么,如何用简单的命令来完成这项庞大的工程呢?下面随小编一起用这个新技巧来试试。材料... -
SHFileOperation()函数移动,复制,删除文件\文件夹
2016-05-05 13:50:57(转载于:... 总结一下SHFileOperation的用法,希望对大家有用 //删除文件或者文件夹 bool DeleteFile(char * lpszPath) { SHFILEOPSTRUCT FileOp={0}; -
Mac 如何合并不同文件夹下相同名称的文件(复制而不是替换)
2020-09-01 17:15:36首先,我们要知道,Mac 中的的复制并不像windows里的那么省心(不会出现文件丢失),Mac中很可能会出现文件丢失,因为它对相同名称文件的实际操作是替换而不是另命名复制!!! 解决 1、 cp -R old_dir new_dir 失败... -
linux 的 cp 命令如何复制不提示覆盖
2021-03-09 20:10:17把文件夹 a 中的 a.txt 复制到文件夹 b 中的, 并且 b 中已有 a.txt mkdir a b touch a/a.txt cp a/a.txt b cp a/a.txt b 有的时候需要设置不提醒, 静默覆盖重复文件 查看 cp 的帮助信息 cp --help 当我们执行 cp... -
Linux 文件夹/文件操作命令(新建、修改、查看、移动、复制、重命名)
2016-02-09 16:56:23文件夹命令: mkdir命令: 创建文件夹 make directories缩写 -p 根据需要制作父目录 创建多级目录时需要用到该参数 eg: mkdir abc 意思是在当前文件夹下面创建 abc文件夹。 mkdir -p ./x/y/z 在当前... -
Mac怎么合并文件夹?macz不容错过的苹果mac教程分享
2020-11-06 14:11:04关于合并文件夹,与Windows操作不同的是:Mac中很可能会...3、然后,将要复制的源文件夹拖到窗口中。然后,将目标文件夹拖到窗口中。 4、按回车键或回车键。 注意:使用ditto命令会覆盖目标文件夹中的所有重复文件。 -
SourceTree 使用教程 跳过Atlassian账户 免登陆 及常见错误
2018-08-08 16:16:19最近技术群里有人问关于团队中git使用的相关问题,恰巧我的笔记本还了新固态,东西都没有了,反正是得配置,索性所以写一写相关的博客。 1介绍 SourceTree可以帮助你...2跳过Atlassian账户 免登陆 我相信你是在... -
mergeFolders.php for Mac
2020-03-09 12:34:48应用情景:在Windows系统下复制文件时,如果文件logo.jpg重复了,系统会在文件夹B里创建文件'logo(1).jpg',但是,Mac系统不会,只能"跳过","停止","替换",这个简单的要求"保留"为什么不做出来? 工具特性: ... -
电脑日常操作,复制文件备份多份文件
2022-04-23 13:27:27在日常操作中,经常需要对一些重要的文件或文件夹备份,在不删除原文件或者文件夹的情况下,将文件或者文件夹复制保存,移动到别外多个位置保存,下面来分享介绍这种批量复制的方法,一起来试试。 这里以复制移动我... -
windows下使用RoboCopy命令进行文件夹增量备份
2020-08-06 16:14:26RoboCopy,它是一个命令行的目录...而且该功能可以创建两个文件结构完全的镜像副本而不复制任何不需要的重复文件,同时还允许您保留所有相关文件信息,包括日期和时间戳、安全访问控制列表(ACL))等等。下面先看看这条 -
批处理替换指定目录下所有文件夹名和文件名
2021-11-08 15:03:32近期遇到个问题,需要将电脑上某个目录下所有的文件夹名和文件名(包含子文件夹下的)的某个字符串统一替换,文件数量很多,有上千个甚至上万个,同样需要处理的电脑还有很多台,一个个改是不可能的,那得改到猴年马... -
Windows CMD 指令for遍历文件夹
2022-02-13 14:36:10跳过空白行。 你可通过指定可选 "options" 参数替代默认解析操作。这个带引号的字符串包括一个 或多个指定不同解析选项的关键字。这些关键字为: eol=c - 指一个行注释字符的结尾(就一个) skip=n - 指在文件开始时...