如何批处理复制文件(文件夹)?

如何批处理复制文件(文件夹)?,第1张

1.复制C:\a\e.txt 文本文件到d:\b文件夹下面

【复制完的目录结构应该为d:\b\e.txt】

xcopy /y c:\a\e.txt d:\b\ >nul

2.复制C:\a文件夹及其内所有东西(包括隐藏,系统文件)到D:\b文件夹下面

【 a文件夹也要复制过去,也就是说,复制之后,a文件夹应该在b文件夹下】

xcopy /y /e /h c:\a d:\b\a\ >nul

3.复制C:\a文件夹内的所有东西到D:\b文件夹下面

【a文件夹不复制过去,只是把c,d这两个文件夹和e.txt这个文件复制过去】

xcopy /y /e /h c:\a d:\b\ >nul

1、首先打开电脑点击鼠标右键选择新建,再选择文本文档,在电脑上新建一个文本文档。

2、然后需要重命名文件后缀为bat。

3、然后需要按照图示代码输入::被复制的目标文件夹,set tarDir=G:\Guoke\,::文件名set filename=guoke.txt。

4、然后需要按照图示代码判断文件夹是否存在,如果不存在则创建目录。

5、然后需要按照图示代码复制文件,并重定向输出。

6、然后需要按照图示代码输入判断上次命令是否执行成功。

7、双击bat文件执行,如果成功复制文件夹则输出Copy successfully。

同学让我帮忙处理数据,但是有365天的数据也就是365个文件夹,整体文件好几十个G,但是每个文件夹中有用的文件只有几个且很小,于是就准备写一个脚本文件对其进行批处理,反正也没学过,就搜集资料搞吧,搞好了详细写给大家看嘛。

同学的文件分布是这样的:

其中有用的文件是这样的,且每个文件夹中都类似:

明确了需求,直接把最后源码先看,再具体一行行讲:

下面是讲解,对应每行

(1)@为不输出当前行,echo off是取消显示命令

(2)mkdir是创建文件夹

(3)for循环中,脚本语言使用%%variable做变量,要加两个百分号,变量名大小写区分,/f的话就是遍历整体里面的内容,若不加则无法遍历file,后面的dir是当前路径,加参数(只列出当前用到的),也就是只按顺序输出文件夹名:

(4)输出一下文件夹名

(5)将文件夹中符合met_ . 格式的文件复制到result文件夹中,*是通配符,可以代表任何字符。后面的参数意义为:


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/7940293.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-11
下一篇 2023-04-11

发表评论

登录后才能评论

评论列表(0条)

保存