![]() |
![]() |
![]() |
|
Командная строка для Rar | ☑ | ||
---|---|---|---|---|
0
YDenn
05.11.06
✎
18:55
|
Здравствуйте!
Есть документы, сохраняются 1С во временную папку. Далее нужно командной строкой запустить архиватор рар, чтобы он сформировал многотомный архив на дискете. Не подскажите командную строку для этого. Спасибо |
|||
1
Ковекс
05.11.06
✎
19:07
|
WinRAR допускает управление из командной строки. Общий синтаксис командной строки таков:
WinRAR <команда> –<ключ1> –<ключN> <архив> <файлы…> <@файл-список…> <путь для извлечения\> команда Комбинация символов, указывающая на действие, которое будет выполнять WinRAR. ключ Ключи используются для определения специфических действий, степени сжатия, типа архива и пр. архив Имя обрабатываемого архива. файлы Имена обрабатываемых файлов. файл-список Файлы-списки – это простые текстовые файлы, содержащие имена файлов для обработки. Каждое имя файла должно быть указано на отдельной строке и начинаться с первой позиции строки. В файл-список допускается помещать комментарии, признак начала комментария – символы //. Например, для архивирования файлов *.txt из папки c:\work\doc, файлов *.bmp из папки c:\work\image и всех файлов из папки c:\work\misc можно создать backup.lst, содержащий следующие строки:c:\work\doc\*.txt //резервная копия текстовc:\work\image\*.bmp //резервная копия рисунковc:\work\miscПосле этого для архивирования достаточно будет выполнить команду:rar a backup @backup.lstВ одной командной строке разрешается указывать как обычные имена или группы файлов для обработки, так и файлы-списки. Если не указаны ни файлы, ни файлы-списки, то подразумевается шаблон *.* (т.е. WinRAR обработает все файлы). путь для извлечения Используется только с командами e и x и указывает папку, в которую нужно извлекать файлы. Если эта папка не существует, то она будет создана. Замечания а) Если не указаны ни файлы, ни файл-список, то подразумевается шаблон *.*, и WinRAR обработает все файлы. б) Если не указано расширение архива, то WinRAR будет использовать формат архива по умолчанию, выбранный в профиле архивации по умолчанию, но если вы хотите указать тип архива явно, то это можно сделать добавлением к имени архива расширения RAR или ZIP. в) Ключи, введенные в командной строке, имеют более высокий приоритет, чем соответствующие установки в диалоге конфигурации, т.е. используются параметры, заданные ключами. г) Для команд c, e, s, t, rr, k и x в имени архива допускается использовать шаблоны, поэтому одной командой можно обработать сразу нескольких архивов. Более того, если вместе с этими командами указать ключ -r, то поиск архивов будет вестись и во всех вложенных папках. д) Некоторые команды и ключи применимы только к архивам RAR, некоторые — к архивам RAR и ZIP, а некоторые — к архивам всех поддерживаемых форматов. Это зависит от возможностей, заложенных в формат архива. е) Команды и ключи не зависят от регистра символов, поэтому вы можете набирать их как строчными, так и прописными буквами. |
|||
2
Ковекс
05.11.06
✎
19:08
|
-ac Снять атрибут "архивный" после архивации или извлечения
-ad Добавить к пути назначения имя архива -af<тип> Указать формат архива -ag[формат] Добавить к имени архива текущую дату и время -ao Добавить файлы с установленным атрибутом "архивный" -ap Установить путь внутри архива -as Синхронизировать содержимое архива -av Добавить электронную подпись -av- Запретить добавление/проверку электронной подписи -cl Преобразовать имена файлов в нижний регистр -cu Преобразовать имена файлов в верхний регистр -df Удалить файлы после архивации -dh Открывать совместно используемые файлы -ds Не сортировать файлы при архивации -ed Не добавлять пустые папки -en Не добавлять блок "конец архива" -ep Исключить пути из имен -ep1 Исключить из пути базовую папку -ep2 Сохранять полные пути файлов -f Освежить файлы -hp[пароль] Шифровать и данные, и заголовки файлов -ibck Запустить WinRAR как фоновый процесс в системном лотке -ieml Отправить архив по электронной почте -ilog[имя] Записывать протокол ошибок в файл -inul Не выводить сообщений об ошибках -k Заблокировать архив -kb Сохранять на диске файлы, извлечённые с ошибками -m<n> Установить метод сжатия -mc<параметры> Указать дополнительные параметры сжатия -md<n> Установить размер словаря -ms Указать типы файлов для архивирования без сжатия -os Сохранить потоки NTFS -ow Обработать информацию о правах доступа к файлам -o+ Перезаписывать существующие файлы -o- Не перезаписывать существующие файлы -p[пароль] Установить пароль -r Рекурсивно с вложенными папками -r0 Рекурсивно с вложенными папками по шаблону -rr[N] Добавить информацию для восстановления -rv[N] Создать тома для восстановления -s Создать непрерывный архив -s<N> Создать непрерывные группы, используя счетчик файлов -se Создать непрерывные группы, используя расширения файлов -sfx[имя] Создать самораспаковывающийся архив -sv Создать независимые непрерывные тома -sv- Создать зависимые непрерывные тома -s- Запретить создание непрерывных архивов -t Протестировать файлы после архивирования -ta<дата> Обрабатывать файлы, изменённые после указанной даты -tb<дата> Обрабатывать файлы, изменённые до указанной даты -tk Сохранять исходное время архива -tl Установить время архива по самому новому файлу -tn<время> Обрабатывать файлы не старее, чем указанный период времени -to<время> Обрабатывать файлы более старые, чем указанный период времени -u Обновить файлы -v<n>[k|b|f|m|M] Создать многотомный архив -vd Очищать сменный диск перед архивацией на него -ver Контроль версий файлов -vn Использовать старую схему именования томов -vp Делать паузу перед каждым томом -x<файл > Не обрабатывать указанный файл -x@<файл-список> Не обрабатывать файлы, указанные в файле-списке -y Отвечать "Да" на все запросы -z<файл> Прочитать комментарий архива из файла -- Прервать дальнейший поиск ключей в командной строке |
|||
3
Ковекс
05.11.06
✎
19:08
|
A Добавить файлы в архив
C Добавить архивный комментарий D Удалить файлы из архива E Извлечь файлы из архива, игнорируя пути F Освежить файлы в архиве K Заблокировать архив M Переместить файлы и папки в архив R Восстановить поврежденный архив RC Воссоздать недостающие тома RR[N] Добавить информацию для восстановления RV[N] Создать тома для восстановления S[имя] Преобразовать архив в самораспаковывающийся S- Удалить SFX-модуль T Протестировать файлы в архиве U Обновить файлы в архиве X Извлечь файлы из архива с полными путями |
|||
4
YDenn
05.11.06
✎
19:19
|
Спасибо.
Удачи. |
|||
5
Фокусник
05.11.06
✎
20:32
|
(0) обычно запуск exe с /? выдает перечень возможных ключей...
|
|||
6
YDenn
05.11.06
✎
22:11
|
Что-то не получается, help!!!
Где ошибка: ЗапускАрх="rar a -v1440f -vd A:\"+Строка(ТекущаяДата())+".rar C:\Temp_1C\"+Строка(ТекущаяДата())+"\*.*"; ЗапуститьПриложение(ЗапускАрх); выдает: "Ошибка при выполнении команды;" Спасибо |
|||
7
Лефмихалыч
05.11.06
✎
22:19
|
ну, во-первых, запусти врукопашную эту команду, а во-вторых, воспользуйся Сообщить(); может там командная строка погоду содержит
|
|||
8
YDenn
05.11.06
✎
22:36
|
Вручную запустил, пишет:
C:\Windows\rar.pif Неверное имя файла программы, проверьте содржимое PIF-файла... В Сообщить пишет: rar a -v1440f -vd A:\06.11.06.rar C:\Temp_1C\06.11.06\*.* |
|||
9
Темный Эльф
05.11.06
✎
22:39
|
Найди C:\Windows\rar.pif и напиши в нем путь к rar.exe
|
|||
10
Лефмихалыч
05.11.06
✎
22:39
|
чо такое rar.pif?
почему "rar a ИТЫДЫ", а не """c:\progra~1\winrar\rar.exe ИТЫДЫ""" ? |
|||
11
YDenn
05.11.06
✎
22:54
|
Сделал:
ЗапускАрх="c:\progra~1\winrar\rar.exe a -v1440f -vd C:\"+Строка(ТекущаяДата())+".rar C:\Temp_1C\"+Строка(ТекущаяДата())+"\*.*"; Пишет: Ошибка при выполнении команды; c:\progra~1\winrar\rar.exe a -v1440f -vd C:\06.11.06.rar C:\Temp_1C\06.11.06\*.* Но при этом в указанном месте создает архив. Что за "Ошибка при выполнении команды"? |
|||
12
Лефмихалыч
05.11.06
✎
22:58
|
директория-источник точно существует?
|
|||
13
YDenn
05.11.06
✎
23:09
|
(12)Да
|
|||
14
YDenn
06.11.06
✎
09:36
|
Добрый новый день!
Так и не решил проблему. Код: ЗапускАрх="c:\progra~1\winrar\rar.exe a c:\"+Строка(ТекущаяДата())+".rar C:\Temp_1C\"+ТекущаяДата()+"\*.*"; ЗапуститьПриложение(ЗапускАрх); Пишет: Ошибка при выполнении команды; c:\progra~1\winrar\rar.exe a c:\06.11.06.rar C:\Temp_1C\06.11.06\*.* Но при этом архив создается!!!! Строку: c:\progra~1\winrar\rar.exe a c:\06.11.06.rar C:\Temp_1C\06.11.06\*.* запускаю ручками - все ОК. Заменил рар с 3.04 на 3.50 - результат тот же. Как избавиться от сообщения "Ошибка при выполнении команды;" - сбивает с толку и откуда оно появилось, т.е что это за ошибка. Спасибо |
|||
15
evGenius
06.11.06
✎
09:41
|
ЗапускАрх="""c:\program files\winrar\rar.exe"" a ""c:\"+Строка(ТекущаяДата())+".rar"" ""C:\Temp_1C\"+ТекущаяДата()+"\*.*""";
|
|||
16
evGenius
06.11.06
✎
09:42
|
Попробуй использовать опцию:
-ilog[имя] Записывать протокол ошибок в файл |
|||
17
YDenn
06.11.06
✎
09:46
|
(16)То-то и оно в раре ошибок нет. Что-то 1С мешает, вот что?
|
|||
18
YDenn
06.11.06
✎
09:47
|
(15)Поменял - результат тот же.
|
|||
19
Лефмихалыч
06.11.06
✎
09:48
|
а ты откуда уверен, что у тебя именно в этой строке ошибка?
|
|||
20
Лефмихалыч
06.11.06
✎
09:49
|
может попробовать
Шелл = СоздатьОбъект("Scriting.Shell"); Шелл.Run("c:\progra~1\winrar\rar.exe a c:\"+Строка(ТекущаяДата())+".rar C:\Temp_1C\"+ТекущаяДата()+"\*.*"); ? |
|||
21
evGenius
06.11.06
✎
09:49
|
(17) Пробовал?
|
|||
22
YDenn
06.11.06
✎
09:51
|
(19)вы гений. Закомментировал строки с кодом для рара - ошибка выскакивет. Я идиот.
Спасибо, полез в код. |
|||
23
evGenius
06.11.06
✎
09:51
|
ИМХО архиватор пытается системе вернуть ненулевое значение, но вот почему?
|
|||
24
VasilyKushnir
06.11.06
✎
09:51
|
А ты попробуй загнать вю эту хрынь в коммандный файл, отработай, чтобы ошибок не выдавала, а из 1С можно и батник запустить.
Предупреждение!!!! В ХР ДОС весьма урезан - надо недостающие файлы скопировать из 2003 (в 2000 не знаю - врать не буду). |
|||
25
evGenius
06.11.06
✎
09:51
|
(22) :-))) Точно.
|
|||
26
YDenn
06.11.06
✎
09:56
|
Нашел ошибку.
У меня обработкой сохраняются из справочников печатные формы. Первый раз запускаю - все Ок. Второй и последующие, 1С стучится в уже созданную предыдущими запусками папку с тем же именем. Вот и выдает ошибку. Спасибо огромное. 4 часа рар крутил, а решение оказалось на 5 минут. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |