Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.024 c
15-1141823371
xayam
2006-03-08 16:09
2006.04.02
Delphi + WebMoney


1-1141048869
msgipss
2006-02-27 17:01
2006.04.02
Быстрый экспорт excel документа в html


2-1142950392
irishka001
2006-03-21 17:13
2006.04.02
Список файлов в архиве


2-1142909634
Andrewmx
2006-03-21 05:53
2006.04.02
Деревья


3-1139213959
Afanasiy
2006-02-06 11:19
2006.04.02
Delphi 5 &amp; ADO




   Наверх