欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

U盘自动压缩复制小程序

程序员文章站 2022-07-08 16:38:04
...
经常需要复制文件到U盘,或者从U盘复制出来,基本上是同一个文件夹,来回复制,电脑上也是固定文件夹,可以用小程序自动化,以免来回打开文件夹,打压缩包

@echo off


::此程序需放入U盘里

::U盘存放路径 压缩包名要与电脑文件夹名一致

::文件夹名称
set mdir=workdir

::笔记本名字
set "notebook=USER-35"


::U盘中的存放路径 data\workdir.zip
set ufile=data\%mdir%.zip

::获取U盘当前路径
for /F  %%a in ('cd') do set upath=%%a

::获取当前主机名
for /F "tokens=2 delims=:"  %%a in ('ipconfig /all ^|find "主机名"') do set hostName=%%a

::去除主机名中的空格
set "hostName=%hostName: =%"

::获取hostDir主机盘符 d:
for /F "tokens=1 delims=:"  %%a in ("%hostDir%") do set "drive=%%a:"

::环境设置
 if "%hostName%"=="%notebook%" goto notebook else goto pc
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: 当前电脑为笔记本
:notebook

		::笔记本rar安装目录 压缩便于快速复制
		set "Path=%Path%;D:\Program Files\WinRAR\"

		::笔记本上存放数据的文件夹
		set "hostDir=D:\Programs\data\"
		
:: 当前电脑为台式机
:pc
		::笔记本rar安装目录 压缩便于快速复制
		set "Path=%Path%;D:\Program Files\WinRAR\"

		::笔记本上存放数据的文件夹
		set "hostDir=D:\Programs\data\"

::操作类型
choice /c abc /m "[a]:U盘=》电脑 	[b]:电脑=》U盘	c:退出	不区分大小写" 
		
if %errorlevel% equ 1  (
		goto UsbOut
		)

if %errorlevel% equ 2  (
		goto usbIn
		)
if %errorlevel% equ 3  (
		goto end
		)

goto end		

::从U盘复制出来
:UsbOut

		 echo U盘=》电脑

		 echo 从U盘复制%ufile% 。。。
		 echo 电脑文件夹%hostDir%
		 copy /b /y %ufile% %hostDir%
		 
		 echo 在电脑上解压。。。
		 winrar.exe x -y -ms*.zip  %hostDir%%mdir%.zip  %hostDir%
		 
		 echo 删除电脑压缩包。。。
		 cd /d %hostDir%
		 if EXIST %mdir%.zip del /Q  %mdir%.zip
		 goto end

::复制到U盘
:usbIn
			echo 电脑=》U盘
		 cd /d %hostDir%

		 if EXIST %mdir%.zip del /Q  %hostDir%%mdir%.zip
		 
		 echo 压缩文件夹%mdir%。。。
		 winrar.exe a -r -ms*.zip %mdir%.zip  %mdir%
		 
		 echo 复制%mdir%.zip到U盘 %upath%%ufile%。。。
		 copy /b /y %mdir%.zip %upath%%ufile%
		 
		 echo 删除临时压缩包
		 if EXIST %mdir%.zip del /Q  %hostDir%%mdir%.zip

:end

echo 操作成功!
pause