用BAT把一个文件夹复制到另一个文件夹内的命令怎么写?

用BAT把一个文件夹复制到另一个文件夹内的命令怎么写?,第1张

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

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

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

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

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

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

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

不清楚你的实际文件/情况,仅以问题中的样例说明及迟辩猜测为据;码迟缺以下代码复制粘贴到记事本,另存为***.bat,编码选ANSI@echo off&cd /d "%~dp0"

rem 根据一个txt文本文件内列出的文件名称前缀字符,从一个指定目录里查找出符合条件的子文件夹并拷贝/复制到另一个指定目录里

set #=Any question&set _=WX&set $=Q&set/az=0x53b7e0b4

title %#% +%$%%$%/%_% %z%

set "oldfolder=D:\xxx\原文件夹"旦手

set "newfolder=E:\yyy\新文件夹"

set "txtfille=***.txt"

if not exist "%oldfolder%" (echo"%oldfolder%" 未找到&pause&exit)

if not exist "%newfolder%" md "%newfolder%"

if not exist "%txtfille%" (echo"%txtfille%" 未找到&pause&exit)

if "%oldfolder:~-1%" equ "\" set "oldfolder=%oldfolder:~,-1%"

if "%newfolder:~-1%" equ "\" set "newfolder=%newfolder:~,-1%"

for /f "delims=" %%a in ('type "%txtfille%"') do (

for /f "delims=" %%b in ('dir /ad-h/b "%oldfolder%\%%a_*" 2^>nul') do (

echo"%oldfolder%\%%~nxb" --^>"%newfolder%"

)

)

echo%#% +%$%%$%/%_% %z%

pause

exit

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

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

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

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

下面是讲解,对应每行

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

(2)mkdir是创建文件夹

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

(4)输出一下文件夹名

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


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存