使用批处理脚本在Windows上压缩同名文件
假设我们有:使用批处理脚本在Windows上压缩同名文件,windows,batch-file,zip,Windows,Batch File,Zip,假设我们有: 萨默迪尔 file1.eps file1.jpg file2.eps file2.jpg 我想做的是,获得每个eps、jpg组合的拉链,并使用相同的名称,如: 萨默迪尔 file1.zip file2.zip 我不知道该怎么做。有什么建议吗?您可以在WinRAR的帮助下轻松完成: @setlocal @echo off set path="C:\Program Files\WinRAR\";%path% forfiles /s /m *.jpg /C "cmd /c
- 萨默迪尔
- file1.eps
- file1.jpg
- file2.eps
- file2.jpg
- 萨默迪尔
- file1.zip
- file2.zip
我不知道该怎么做。有什么建议吗?您可以在WinRAR的帮助下轻松完成:
@setlocal
@echo off
set path="C:\Program Files\WinRAR\";%path%
forfiles /s /m *.jpg /C "cmd /c winrar.exe a -afzip "@fname.zip" "@fname.eps" "@fname.jpg"
pause
在WinRAR的帮助下,您可以轻松完成此任务:
@setlocal
@echo off
set path="C:\Program Files\WinRAR\";%path%
forfiles /s /m *.jpg /C "cmd /c winrar.exe a -afzip "@fname.zip" "@fname.eps" "@fname.jpg"
pause
下面是我使用windows native zip.exe的示例。它只在当前目录中查找*.eps文件(因为您有一对具有相同名称和不同扩展名的文件),然后提取文件名,添加.eps和.jpg扩展名,并使用相同名称压缩它们
for /r %i in (*.eps) do zip %~ni.zip %~ni.eps %~ni.jpg
如果在脚本内部写入,则使用%%i将其变为白色
for /r %%i in (*.eps) do zip %%~ni.zip %%~ni.eps %%~ni.jpg
下面是我使用windows native zip.exe的示例。它只在当前目录中查找*.eps文件(因为您有一对具有相同名称和不同扩展名的文件),然后提取文件名,添加.eps和.jpg扩展名,并使用相同名称压缩它们
for /r %i in (*.eps) do zip %~ni.zip %~ni.eps %~ni.jpg
如果在脚本内部写入,则使用%%i将其变为白色
for /r %%i in (*.eps) do zip %%~ni.zip %%~ni.eps %%~ni.jpg
为什么要使用
forfiles
命令而不是标准的for
命令,这要快得多?为什么要使用forfiles
命令而不是标准的for
命令,这要快得多?