Главная страница
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.48 MB
Время: 0.05 c
11-1123539855
Thaddy
2005-08-09 02:24
2006.04.02
Static Link version of SQlite3 for KOL beta


2-1142755434
gidd
2006-03-19 11:03
2006.04.02
занесение строки в бд


15-1142102904
Ehh
2006-03-11 21:48
2006.04.02
Вопрос по web программированию


11-1123414170
EVILDeath
2005-08-07 15:29
2006.04.02
System.dcu


3-1139312754
antoxa2005
2006-02-07 14:45
2006.04.02
Подскажите, а как считать примечание таблицы в БД Access