arquivo em lote 7zip não inclui extensão Por quê?

0

Encontrei o arquivo de lote abaixo e ele funciona bem, mas eu preciso do código para adicionar a extensão ao arquivo zip final. Eu tenho certeza que esta é uma pergunta simples, mas eu tentei de tudo.

@echo off
cd /d %~dp0
rem 7z.exe path
set sevenzip=
if "%sevenzip%"=="" if exist "%ProgramFiles(x86)%-zipz.exe" set sevenzip=%ProgramFiles(x86)%-zipz.exe
if "%sevenzip%"=="" if exist "%ProgramFiles%-zipz.exe" set sevenzip=%ProgramFiles%-zipz.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
    
por degn8er 16.03.2016 / 17:17

1 resposta

1

O problema é: %%~na.zip , deve ser %%~fa.zip

Simplificando um pouco as coisas, suponha que eu tenha os seguintes arquivos no meu diretório:

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

Emita isso na linha de comando:

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

Isso resulta em dois arquivos Zip:

  • foo.en.pdf.zip
  • bar.en.pdf.zip
por 17.03.2016 / 12:09