บรรทัดคำสั่ง 7-Zip เพื่อแยกโฟลเดอร์ออกจากไฟล์เก็บถาวร


16

ฉันใช้7-Zip commandline เพื่อแยกไปรษณีย์เก็บที่เรียกว่าabc.zipซึ่งเป็นที่เก็บกับโฟลเดอร์ที่เรียกว่า 'ซิป' กับสามไฟล์ข้อความในนั้น ( a.txt, b.txtและc.txt)

ปัญหาของฉันคือเมื่อฉันแยกมันด้วยคำสั่งต่อไปนี้:

7z e C:\abc\abc.zip -y oC:\abc

7-Zip สารสกัดทุกอย่าง แต่ก็ไม่ได้แยกโฟลเดอร์ 'ซิป' ก็แค่สารสกัดa.txt, b.txtและc.txtและทำให้พวกเขาในปลายทางออก (นั่นคือC:\abc)

ฉันจะสร้าง 7-Zip เพียงดึงโฟลเดอร์จริงได้อย่างไร

คำตอบ:



9

อาจมียัติภังค์ต่อหน้าo:

-oC:\abc

พิจารณา-rตัวเลือกสำหรับการเรียกซ้ำ


0

ฉันต้องแก้ปัญหาที่คล้ายกัน นี่คือรหัสที่ฉันใช้ สคริปต์นี้ได้รับโฟลเดอร์และคลายซิปทั้งหมด (และลบออกหลังจากนั้น) เคล็ดลับคือการคลายซิปข้อมูลลงในโฟลเดอร์พิเศษ ค่อนข้างหงุดหงิด แต่ใช้งานได้ ...

@echo off

set SEVEN_ZIP_HOME=C:\Program Files\7-Zip

set TEMPDIR=temp

set WORKING_DIR="%1"

if "%WORKING_DIR%"==""  set WORKING_DIR=%~dp0

cd /d %WORKING_DIR%

if not exist %TEMPDIR% md %TEMPDIR%

for %%i in ("%WORKING_DIR%\*.zip") do call :unzipAndDelete "%%i"

rd %TEMPDIR%

goto :end

:unzipAndDelete 

set ZIP_FILE=%~1

call :extractName %ZIP_FILE%

call "%SEVEN_ZIP_HOME%\7z.exe" e "%ZIP_FILE%" -o./%TEMPDIR%

copy .\%TEMPDIR%\*.* %FILENAME%.log

del .\%TEMPDIR%\*.* /q

del "%ZIP_FILE%"

goto :end

:extractName 

set FILENAME=%~n1
goto :end


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