Plik wsadowy 7zip nie zawiera rozszerzenia Dlaczego?

0

Znalazłem poniższy plik wsadowy i działa dobrze, ale potrzebuję kodu, aby dodać rozszerzenie do ostatecznego pliku zip. Jestem pewien, że to proste pytanie, ale próbowałem wszystkiego.

@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
degn8er
źródło

Odpowiedzi:

1

Problemem jest: %%~na.zip, powinno być %%~fa.zip

Upraszczając trochę rzeczy, załóżmy, że mam następujące pliki w moim katalogu:

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

Wydaj to w wierszu poleceń:

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

W wyniku tego powstają dwa archiwa Zip:

  • foo.en.pdf.zip
  • bar.en.pdf.zip
jockster
źródło
Wiedziałem, że superużytkownik zna odpowiedź. Wielkie dzięki.
degn8er