2010-09-30 14 views
32

Tôi đang sử dụng dòng lệnh winrar sau để tạo ra tài liệu lưu trữ zip:sử dụng winrar dòng lệnh để tạo ra tài liệu lưu trữ zip

rar.exe a -df -ep -ag[yyyyMMddhhmmss] -ms[txt] C:\MyZipFile.zip C:\tmp\MyFiles*.txt 

Các tài liệu lưu trữ được tạo ra là ở định dạng RAR thay vì bưu điện. Có cách nào để tạo ZIP thường xuyên và không lưu trữ RAR không?

+1

điều khiển RAR hỗ trợ tài liệu lưu trữ chỉ ở định dạng RAR. ZIP và các định dạng khác không được hỗ trợ. Bạn nên sử dụng winrar. http://acritum.com/winrar/console-rar-manual –

+8

cảnh báo cho người dùng: -df chuyển DELETES tệp gốc sau khi lưu trữ !! –

Trả lời

45

Đảm bảo bạn đang sử dụng WinRAR.exe chứ không phải Rar.exe.

Nếu bạn đang sử dụng dòng lệnh để thực hiện điều này chắc chắn rằng bạn gõ:

winrar a -afzip c:\test.zip c:\test.csv 

không:

a -afzip c:\test.zip c:\test.csv 

Nó làm việc cho tôi. Tôi cũng có nó để làm việc trong SSIS.

+13

** CẢNH BÁO ** cho người dùng: -df chuyển DELETES tệp gốc sau khi lưu trữ !! –

2

WinRAR có mô tả chi tiết cú pháp dòng lệnh trong các tệp trợ giúp của nó (Trợ giúp WinRAR), chương "Cú pháp dòng lệnh".

Tất cả các lệnh như "a" (thêm vào tệp lưu trữ), "d" (xóa khỏi lưu trữ), "e" (trích xuất từ ​​kho lưu trữ bỏ qua đường dẫn) và chuyển đổi chẳng hạn như "-af" cho dù để tạo ra một rar hoặc một tập tin zip), "-ad" (phụ thêm tên lưu trữ vào đường dẫn đích) hoặc "-p" (mã hóa lưu trữ bằng cách sử dụng bảo vệ mật khẩu) được liệt kê ở đó.

Có rất nhiều tùy chọn. Tôi khuyên bạn nên đọc các quy tắc cú pháp dòng lệnh khi làm việc với WinRAR thông qua các dòng lệnh.

Để kích hoạt WinRAR zip đóng gói từ bên trong một ứng dụng cơ sở dữ liệu MS Access, tôi sử dụng trong đoạn code VBA ví dụ

Shell c:\Programme\WinRAR\winrar.exe a -afzip -p<AnyPasswordYouLike> "e:\MyStuff\TargetFolder\Output.zip" "e:\MyStuff\SourceFolder\Input.docx" 

Tất nhiên, các đường dẫn tập tin và tên được ususally nhập vào thông qua các biến, ví dụ như

Dim strWinrarCommandline As String 
'... and the other variables as well declared in advance, of course...  

strWinrarCommandline = strWinrarPathAndSwitches & "-p" & strPassword & " " & Chr(34) & strOutputFullName & Chr(34) & " " & Chr(34) & strInputFullName & Chr(34) 

'Và sau đó gọi Winrar đơn giản bằng cách:

Shell strWinrarCommandline