ไฟล์แบตช์ 7zip ไม่รวมนามสกุลทำไม


0

ฉันพบไฟล์แบตช์ด้านล่างและใช้งานได้ดี แต่ฉันต้องการรหัสเพื่อเพิ่มส่วนขยายไปยังไฟล์ 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

ปัญหาคือ: %%~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

ฉันรู้ว่า superuser จะรู้คำตอบ ขอบคุณมาก.
degn8er
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.