Страница: 1 |
Вопрос: Помогите с архивацией
Добавлено: 10.10.08 20:19
Автор вопроса: Jaychibek | ICQ: презираю
Здравстуйте!!! Помогите пожалуйста
Задача состоит в том чтобы зархивировать папку
архивация через командную строку примерно выглядит следующим образом
Н:d:\>rar a -df Lograr "d:\Lograr"
пробую через Shell
FileSource = "D:\rar a -df Archive" & " " & Chr(34) & txtOutputFolder.Text & Chr(34)
Shell(FileSource)
программа высвечивает ошибку "Файл не найден"
можно ли как нибудь разобраться
Ответить
Номер ответа: 3Автор ответа:
АдминистраторICQ: 278109632 Вопросов: 42Ответов: 3949
Web-сайт: domkratt.com Профиль | | #3
Добавлено: 11.10.08 16:41
Когда в Shell указываешь помимо имени еще и параметры, эта функция не работает.
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long , ByVal lpOperation As String , ByVal lpFile As String , ByVal lpParameters As String , ByVal lpDirectory As String , ByVal nShowCmd As Long ) As Long
Const SW_SHOWNORMAL = 1
Private Sub Form_Load()
ShellExecute Me .hwnd, vbNullString, "D:\rar.exe" , " a -df Archive " "" & txtOutputFolder.Text & "" "" , vbNullString, SW_SHOWNORMAL
End Sub
Ответить
Номер ответа: 4Автор ответа: Jaychibek
ICQ: презираю Вопросов: 10Ответов: 20
Профиль | | #4
Добавлено: 11.10.08 22:31
только нужно было указать полный путь в папку rar
FileSource = "C:\PROGRA~1\WinRAR\rar.exe a Lograr " & txtOutputFolder.Text
Shell(FileSource)
Но такой метод не прошел бы в случае если бы rar был установлен в другую папку
можно воспользоваться функцией api
прописываем в класс API функцию
Public Class WinAp
Public Declare Function WinExec Lib "kernel32" (ByVal lpCmdLine As String , ByVal nCmdShow As Long ) As Long
End Class
sub RAR()
Dim WinRar As New WinAp
WinRar.WinExec("rar a d:\1 d:\1.txt", 1)
end sub
Ответить
Страница: 1 |
Поиск по форуму