Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2006.04.02;
Скачать: [xml.tar.bz2];

Вниз

Win Rar - команда для заархивирования   Найти похожие ветки 

 
Din   (2006-03-11 23:07) [0]

Хочу в своей программе, заархивировать в определенной папке файлы по нескольким маскам, насколько я понимаю, самый простой путь для этого запустить как внешнее приложение Винрар с определенными параметрами. Подскажите какой командой его надо запустить чтобы зархивировать в папке "путь к папке" файлы а.a1, а.a2, *.a3, *.a4 ?
И попутно еще вопрос : если я в коммандной строке запускаю винрар таким образом : С:/Program files/winrar/rar выдается сообщение путь С:/Program - не найден, каким образом в команде указать пробел?


 
wicked ©   (2006-03-11 23:18) [1]

пути с пробелами в командной строке задаются заключенными в кавычки.... например, "С:/Program files/winrar/rar" -a xxxxx
а запустить это дело можно с помощью ShellExecute или, уровнем ниже, CreateProcess....


 
palva ©   (2006-03-11 23:20) [2]

winrar a <имя архива> <путь>\a.a1 <путь>\a.a2 <путь>\*.a3 <путь>\*.a4

Если есть пробелы, которые не нужно интерпретировать как разделитель, то надо заключить все, что нужно рассматривать как единое целое в двойные кавычки. Это относится не только к пути Winrar, но и к параметрам - там тоже в путях могут быть пробелы.


 
Din   (2006-03-11 23:26) [3]

Спасибо!


 
Din   (2006-03-12 00:35) [4]

function ExecuteFile(const FileName, Params, DefaultDir: string;
 ShowCmd: Integer): THandle;
var
 zFileName, zParams, zDir: array[0..79] of Char;
begin
 Result := ShellExecute(Application.MainForm.Handle, nil,
   StrPCopy(zFileName, FileName), StrPCopy(zParams, Params),
   StrPCopy(zDir, DefaultDir), ShowCmd);
end;

если архиватор запускать с двумя параметрами например :
ExecuteFile("winrar.exe","a 1c.rar "d:\temp\sss\1SBUKR\1cv7.md" "d:\temp\sss\1SBUKR\*.dbf" ","D:\temp\",1); - то работает нормально, а если три и более то рар выдает ошибку

ExecuteFile("winrar.exe","a 1c.rar "d:\temp\sss\1SBUKR\1cv7.md" "d:\temp\sss\1SBUKR\1cv7.dd" "d:\temp\sss\1SBUKR\*.dbf" ","D:\temp\",1);

1c.rar cannot open d:\temp\sss\winrar.exe

и еще, как сделать чтобы внутри архива находились только файлы без папок (сейчас внутри архива \temp\sss\1SBUKR\ и файлы)


 
Германн ©   (2006-03-12 01:47) [5]


> ExecuteFile("winrar.exe","a 1c.rar "d:\temp\sss\1SBUKR\1cv7.
> md" "d:\temp\sss\1SBUKR\1cv7.dd" "d:\temp\sss\1SBUKR\*.dbf"
> ","D:\temp\",1);


То что этот вызов приведён тут как 2 строки - это так и в проекте?



Страницы: 1 вся ветка

Форум: "Прочее";
Текущий архив: 2006.04.02;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.041 c
15-1142276599
Ломброзо
2006-03-13 22:03
2006.04.02
Как получить список сервисов...


15-1141754213
ArtemESC
2006-03-07 20:56
2006.04.02
JavaScript


2-1142399205
Тормаз
2006-03-15 08:06
2006.04.02
Многозадачнасть + SerchFiles


1-1141291631
oleg_
2006-03-02 12:27
2006.04.02
почему может не работать наезд на объект немодального окна


2-1142890507
carcinogen75
2006-03-21 00:35
2006.04.02
Добавить кнопку в чужую программу





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский