压缩目录中的每个文件,该目录在另一个文件夹中还没有 ZIP 版本。



我正在使用7-zip和Windows 2008服务器,需要压缩文件夹C:Original中的每个文件,该文件夹中还没有相应的C:ArchivedZIP文件。我更喜欢使用 .bat 文件执行此操作。

C:Original文件夹包含一系列永不更改的.PDF文件,如下所示:

  • 我的简历.pdf
  • 房屋布局.pdf
  • 调查结果.pdf
  • 哗啦啦啦.pdf啦�

我想运行一个批处理文件,该文件将为C:Archive文件夹中的每个 PDF 创建一个 ZIP 文件,但前提是该文件尚不存在。例如,如果C:Archive文件夹中已经有两个文件:

  • 我的简历.zip
  • 呸.zip呸�

运行批处理文件将仅压缩两个解压缩的文件,HouseLayout.pdfSurveyResults.pdf

我有一个批处理文件,它使用 FOR 命令,该命令将 ZIP C:Original中的所有文件,但我只想压缩那些C:Archive中尚不存在的文件。

谢谢

for %%f in ("c:original*.pdf") do if not exist "c:archive%%~nf.zip" (
    7za a "c:archive%%~nf.zip" "%%~ff"
)

对于指定文件夹/集中的每个文件,如果不存在名称相同但扩展名为 zip 的文件,请创建包含原始文件的 zip 文件。

我认为你需要这样的东西:

for /F %%I in ('dir /b c:original*.pdf') do set filename=%%I
set archivedFile=%filename:~,-4%
if not exist C:archive%archivedFile%.zip (
  REM zip it up
)

相关内容

最新更新