2012-04-11 17 views
6

Có rất nhiều cách để giải nén tài liệu lưu trữ trên Unix:Làm thế nào để giải nén các tệp lưu trữ trong thư mục riêng của chúng trên Windows bằng lệnh DOS?

Mục đích là để tìm tất cả các tài liệu lưu trữ và nén chúng trong thư mục riêng của họ (trong đó mỗi lưu trữ được tìm thấy) trên Windows.
Tùy chọn:

  • xóa lưu trữ sau khi giải nén.
  • ghi lại bất kỳ thông báo lỗi nào nếu một bản lưu trữ có bất kỳ vấn đề nào trong khi giải nén.

Tôi đang tìm kiếm một đồng bằng dòng lệnh DOS, sử dụng, ví dụ, 7z.exe (được bao gồm trong phiên bản di động của PeaZip).

Trả lời

7

Tôi lấy một dòng lệnh từ this thread of the sevenzip project, với một thay đổi nhỏ:

FOR /R %I IN (*src.zip) DO (C:\apps\peazip_portable-3.8.WINDOWS\res\7z\7z.exe x "%I" -aoa -o"%~dpI\*" |c:\windows\system32\find.exe "Everything is Ok" >nul &&DEL /F "%I" ||ECHO.%I : EXTRACT FAIL - ARC NOT DELETED >>ERR.TXT) 

(multi-line cho tầm nhìn)

FOR /R %I IN (*src.zip) DO (\ 
    C:\apps\peazip_portable-3.8.WINDOWS\res\7z\7z.exe x "%I" -aoa -o"%~dpI\*" 
    |c:\windows\system32\find.exe "Everything is Ok" >nul &&DEL /F "%I" 
    ||ECHO.%I : EXTRACT FAIL - ARC NOT DELETED >>ERR.TXT) 

Ghi chú:

  • Tôi thích cách xác định "c:\windows\system32\find.exe" thay vì chỉ FIND, bởi vì tôi có 'khác'trên số PATH của tôi (từ msysgit hoặc gow).
  • xóa phần '&&DEL /F "%I"' nếu bạn muốn giữ lưu trữ tại chỗ.

Tôi vừa giải nén 470 "src.zip" từ Rational Team Concert SDK sau hai phút với lớp lót đó!

0

Đây là một câu hỏi cũ, nhưng ai đó có thể thấy điều này hữu ích. Phương pháp này làm việc cho tôi bằng cách sử dụng WinZip và WinZip Command Line add-on, cả hai đều có sẵn trên trang web WinZip cho người dùng đã đăng ký.

FOR /R %I IN (*.zip) DO (C:\Program Files (x86)\winzip\wzunzip.exe -ye "%I" "%~pI") 

-ye sẽ đặt tên thư mục sau tên tệp zip. % Tôi là tên tệp zip % ~ pI là nội dung tệp zip đích

Vui lòng thêm thông báo gỡ lỗi trong câu trả lời trước. Chạy lệnh bên trong thư mục chứa tất cả các thư mục con chứa các tệp zip của bạn.

Các vấn đề liên quan