Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.04.02;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.45 MB
Время: 0.045 c
3-1139219530
erika
2006-02-06 12:52
2006.04.02
FB &amp; 1C8.0


11-1123157267
Muller
2005-08-04 16:07
2006.04.02
Как заменить подменю на другое?


2-1142574309
Мух
2006-03-17 08:45
2006.04.02
Вопрос про копирование БД


3-1138969011
GLFox
2006-02-03 15:16
2006.04.02
Firebird+модем


15-1141668930
kaZaNoVa
2006-03-06 21:15
2006.04.02
InqSoft Neo Sign 0f Misery





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский