Я нашел ниже пакетный файл, и он отлично работает, но мне нужен код, чтобы добавить расширение в окончательный файл ZIP. Я уверен, что это простой вопрос, но я все перепробовал.

@echo off
cd /d %~dp0
rem 7z.exe path
set sevenzip=
if "%sevenzip%"=="" if exist "%ProgramFiles(x86)%\7-zip\7z.exe" set sevenzip=%ProgramFiles(x86)%\7-zip\7z.exe
if "%sevenzip%"=="" if exist "%ProgramFiles%\7-zip\7z.exe" set sevenzip=%ProgramFiles%\7-zip\7z.exe
if "%sevenzip%"=="" echo 7-zip not found&pause&exit
echo %~dp1
echo %~x1
for %%a in (*%extension%) do "%sevenzip%" a "%%~na.zip" "%%a"
pause

1 ответ1

1

Проблема в следующем: %%~na.zip , должно быть %%~fa.zip

Немного упрощая, предположим, у меня есть следующие файлы в моем каталоге:

  • foo.en.pdf
  • bar.en.pdf

Выполните это в командной строке:

for %a in (*.*) do 7z a "%~fa.zip" "%a"

Это приводит к двум архивам Zip:

  • foo.en.pdf.zip
  • bar.en.pdf.zip

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .