首页 > 代码库 > 学习写一个能够将文件复制、解压到指定文件夹中的批处理文件

学习写一个能够将文件复制、解压到指定文件夹中的批处理文件

场景1afoldersource中有若干文件夹和若干压缩文件,现在将afoldersource中的文件全部复制到afolderdist中。

afoldersource

技术分享

脚本:

@ECHO OFF

##关闭命令回显

echo copy file

##显示一句话

SET sourcepath=E:\afoldersource 

##定义源地址

SET destpath=E:\afolderdist

##定义目标地址

rmdir %destpath%\folder /s /q

##删除目标地址中的文件夹

/S表示除目录本身外,还将删除指定目录下的所有子目录和文件。用于删除目录树

/q表示安静模式,带 /S 删除目录树时不要求确认

rmdir %destpath%\lib /s /q

##删除目标地址中的文件夹

rmdir %destpath%\test.war /s /q

##删除目标地址中的文件

robocopy %sourcepath% %destpath% /s /xo /ns/nc /nfl /ndl

##将源地址内容复制到目标地址中

/S 复制子目录,但不复制空的子目录

/XO排除较旧的文件

/NS无大小 - 不记录文件大小

/NFL无文件列表 - 不记录文件名。

/NDL 无目录列表 - 不记录目录名称。

结果:

技术分享

场景2afoldersource中有若干文件夹和若干压缩文件,现在将afoldersource中的文件全部复制到afolderdist中并将压缩文件解压。

需要先安装解压软件,我安装的是7-Zip 安装在C:\Program Files\7-Zip\7z.exe

脚本:

@ECHO OFF

echo copy jy to jboss

SET sourcepath=E:\afoldersource

SET destpath=E:\afolderdist

rmdir %destpath%\folder /s /q

rmdir %destpath%\lib /s /q

rmdir %destpath%\test.war /s /q

robocopy %sourcepath% %destpath% /xf *.war/s /xo /ns /nc /nfl /ndl

##不复制压缩文件

##[/XF 文件[文件]...排除与给定名称/路径/通配符匹配的文件]

"C:\Program Files\7-Zip\7z.exe" x-o%destpath%\test.war\ -y %sourcepath%\test.war > extract.log

##解压压缩文件到目标地址

"C:\Program Files\7-Zip\7z.exe" 解压缩软件路径

x:完整路径下解压文件

 -o:设置输出目录

-y:所有确认选项都默认为是(即不出现确认提示)

(扩展:-aos:跳过已存在的文件)

> extract.log 生成名为extract.log的日志文档

结果:

技术分享


学习写一个能够将文件复制、解压到指定文件夹中的批处理文件