用于将多个文件压缩为单独输出的批处理脚本



我在压缩多个文件时遇到了一个小问题。

问题是,如果文件名相同,即使不在同一个文件夹中,它们也会自动压缩。

下面是我所说的例子。

Folder 1:
JOHN 1.psd
JOHN 2.psd
Folder 2
JOHN 1.psd
JOHN 2.psd

问题输出变成这样,JOHN 1.psd.rar在该文件内部,有JOHN 1.psd(来自文件夹1(和JOHN 1.psd(来自文件夹2(。

我想,把它们压缩在同一个源文件夹中,甚至是来自不同文件夹的同一个文件。因为我要压缩很多文件。

这是我的脚本:

@echo off
:start
cls
set path="C:Program FilesWinRARRar.exe"
set ext=psd

echo.
@echo off
for /r %%A in (*.%ext%) do (
%path% a -r -ep -df "%%A.rar" "%%~nxA"
)
exit

这是我的解决方案:

@echo off
:start
cls

set WinrarDir="C:Program FilesWinRARRar.exe"

echo.
@echo off
for /r %%i in (*.psb) do ( 
%WinrarDir% a -r -ep -df "%%i.rar" "%%i"
)
exit

最新更新