Имя: Пароль:
1C
1С v8
КомандаСистемы
0 Kyrtizanka
 
08.12.11
17:25
Подскажите пожалуйста, что делаю неправильно, пытаясь из 1с вызвать программу которая архивирует файл, разбивая его с максимальным объемом 5120 кб
Для каждого ЭлементМассива из НайденныеФайлы Цикл
КомандаСистемы("C:\Program Files\7-Zip\7zFM.exe C:\obmen C:\obmen\"+ЭлементМассива.Имя+".7z"+" -v5120k");
КонецЦикла;
       
когда запускаю из командной строки
C:\Program Files\7-Zip\7zFM.exe C:\obmen C:\obmen\Файл.7z -v500k
все срабатывает. Команду для программы 7-Zip брала из справки
1 Kyrtizanka
 
08.12.11
17:26
вернее
C:\Program Files\7-Zip\7zFM.exe C:\obmen C:\obmen\Файл.7z -v5120k
2 Rie
 
08.12.11
17:27
(0) В кавычки имена файлов с пробелами возьми.
Включая путь к запускаемой программе.
3 rutony
 
08.12.11
17:28
(0) Ковычек не хватает что то наподобие
"""C:\Program Files\7-Zip\7zFM.exe"" C:\obmen C:\obmen\"+ЭлементМассива.Имя+".7z"+" -v5120k"
4 Kyrtizanka
 
08.12.11
17:29
сейчас попробую
5 Kyrtizanka
 
08.12.11
17:33
странно, поставила ковычки, теперь запускается программа, открыты папка и cmd
6 Kyrtizanka
 
08.12.11
17:55
не срабатывает
7 Kyrtizanka
 
08.12.11
17:57
КомандаСистемы("""C:\Program Files\7-Zip\7zFM.exe"" C:\obmen C:\obmen\Файл.7z -v500k""")
просто мне синтаксис не особо понятен,  я уже взяла определенный файл
8 catena
 
08.12.11
18:02
(7)В конце нафига три кавычки?
9 Kyrtizanka
 
08.12.11
18:04
)) я уже куда их только не ставила))
10 Kyrtizanka
 
08.12.11
18:05
пример для 7-zip
7z a a.7z *.txt -v10k -v15k -v2m

creates multivolume a.7z archive. First volume will be 10 KB, second will be 15 KB, and all others will be 2 MB.
11 Kyrtizanka
 
08.12.11
18:06
C:\Program Files\7-Zip\7zFM.exe C:\obmen C:\obmen\Файл.7z -v5120k
когда из командной строки, все отрабатывает
12 shuhard
 
08.12.11
18:10
(11) ИННА="""C:\Program Files\7-Zip\7zFM.exe"" C:\obmen C:\obmen\Файл.7z -v500k""";
выложи ИННА сюда
13 Rie
 
08.12.11
18:11
(11) Не верю.
Либо не из командной строки, либо в командной строке
"C:\Program Files\7-Zip\7zFM.exe" C:\obmen C:\obmen\Файл.7z -v5120k
14 Mironoff
 
08.12.11
18:18
Столкнулся с аналогичной проблемой. Делаю КомандаСистемы(МояКоманда), программа не отрабатывает. Копирую значение МояКоманда в командную строку, все выполняется.
15 Kyrtizanka
 
08.12.11
18:18
чере пуск-выполнить работает строка
C:\Program Files\7-Zip\7zFM.exe C:\obmen C:\obmen\Файл.7z -v5120k
16 Kyrtizanka
 
08.12.11
18:21
я не пойму какой синтаксис у КомандаСистемы, где должны быть ковычки инужны ли пробелы
17 catena
 
08.12.11
18:22
(16)Сформиру
18 catena
 
08.12.11
18:23
(16)Сформируй строку, сделай Сообщить(), скопируй и вставь в коммандную строку - срабатывает?
19 Kyrtizanka
 
08.12.11
18:28
строка
"C:\Program Files\7-Zip\7zFM.exe" C:\obmen C:\obmen\Файл.7z -v5120k
не срабатывает, а срабатывает
C:\Program Files\7-Zip\7zFM.exe C:\obmen C:\obmen\Файл.7z -v5120k
20 Kyrtizanka
 
08.12.11
18:29
я же изначально так и писала, все без ковычек срабатывает
21 Kyrtizanka
 
08.12.11
18:30
из командной строки, но как это передать для КомандаСистемы()
22 Rie
 
08.12.11
18:33
(21) Как понимать пост (5)?
23 Kyrtizanka
 
08.12.11
18:36
)) как ещё объяснить)) уже не знаю
когда в Пуск-Выполнить вставляю строку C:\Program Files\7-Zip\7zFM.exe C:\obmen C:\obmen\Файл.7z -v5120k
все отрабатывает, но когда я пытаюсь из 1с сделать тоже самое, пользуясь КомандаСистемы() у меня ничего не происходит
24 shuhard
 
08.12.11
18:37
(21) а так:
КомандаСистемы("""C:\Program Files\7-Zip\7zFM.exe C:\obmen C:\obmen\Файл.7z -v500k""")
25 Kyrtizanka
 
08.12.11
18:39
ничего не происходит, архивы не создаются
26 Kyrtizanka
 
08.12.11
18:39
)) ладно буду ковычки переставлять, а может ещё какой метод взять
27 Rie
 
08.12.11
18:40
(23) А что происходит, если
КомандаСистемы("""C:\Program Files\7-Zip\7zFM.exe"" C:\obmen C:\obmen\Файл.7z -v500k");
28 Rie
 
08.12.11
18:40
(26) Не надо их переставлять. Надо путь к exe-файлу взять в кавычки.
29 Kyrtizanka
 
08.12.11
18:44
ну получается, что он открываетсаму программу 7-Zip, уже стоит на папке Файл, мне нужно руками выбрать условия архивации
30 Kyrtizanka
 
08.12.11
18:45
т.е саму программу и папку с файлом открывает, а параметр, что например файл максимум должен быть размера 500kбайт видимо не понимает
31 Rie
 
08.12.11
18:47
(30) Первый успех достигнут - 7-zip запускается. Теперь смотрим параметры командной строки.
32 Kyrtizanka
 
08.12.11
18:49
))
33 Kyrtizanka
 
08.12.11
18:50
C:\obmen C:\obmen\Файл.7z - наименование файла после архивации  и v500k- максимальный объем
34 Rie
 
08.12.11
18:52
А если так:
КомандаСистемы("""C:\Program Files\7-Zip\7zFM.exe"" C:\obmen C:\obmen\Файл.7z -v500k -y");
35 vis_tmp
 
08.12.11
18:53
Может фотку? )
36 Kyrtizanka
 
08.12.11
18:56
КомандаСистемы("""C:\Program Files\7-Zip\7zFM.exe"" C:\obmen C:\obmen\Файл.7z -v500k -y");

тоже самое
37 Kyrtizanka
 
08.12.11
18:59
такое ощущение, что программа не воспринимает параметры архивации
38 Rie
 
08.12.11
19:13
(37) У меня есть сильное подозрение, что параметры командной строки у него - несколько другие.
39 echo77
 
08.12.11
19:13
Что-то у вас долго не получается.
Выкладывайте фотку - вам быстро помогут ;-)
40 Конфигуратор1с
 
08.12.11
19:15
(0) а что мешает средствами 1с сархивировать?
41 Kyrtizanka
 
08.12.11
19:18
ну это долгая история, главное итог, что задача стоит именно в таком виде , что из 1с вызвать архиватор))
42 Kyrtizanka
 
08.12.11
19:20
может с помощью другой команды. Обидно, что из-за одной строчки столько времени потеряно
43 Rie
 
08.12.11
19:21
(41) Архиватор - именно 7-zip? Или любой подойдёт (тот же RAR, к примеру)?
44 shuhard
 
08.12.11
19:21
(41) ну напиши ты командный файлик и запусти его из 1С
или используй WSCript.shell"
45 Rie
 
08.12.11
19:23
+(43) Кстати, а почему 7zFM.exe? Это же интерактивная версия. Версия командной строки называется 7z.exe
Используйте её - и наступит счастье.
46 Rie
 
08.12.11
19:25
+(45) И параметры командной строки - действительно несколько иные. Там первым параметром идёт команда. Например, a - "добавить в архив", e - извлечь из архива и т.д.
47 Kyrtizanka
 
08.12.11
19:26
у меня именно "C:\Program Files\7-Zip\7zFM.exe"
48 Kyrtizanka
 
08.12.11
19:28
ойй, да можно в принципе любым,просто Zip и 7-Zip бесплатные
49 Rie
 
08.12.11
19:29
(47) Как это "именно"? Посмотрите в C:\Program Files\7-Zip\ - может, там и другие найдутся?
50 Kyrtizanka
 
08.12.11
19:37
у меня стоит 7-Zip File Manager , скачала дистрибутив 7-Zip for 32-bit Windows
51 Rie
 
08.12.11
19:42
(50) Вы указанную в (49) папку заглядывали? Если нет - загляните.
52 shuhard
 
08.12.11
19:43
(48) вообще то зиповать 1С прекрасно умеет сама
БудетЗип=Новый ЗаписьZipФайла("C:\Robot\Log.zip") ;
БудетЗип.Добавить(ИмяФайла);
БудетЗип.Записать();
53 Rie
 
08.12.11
19:44
+(51) Если качали недавно (скажем, в этом году) - то дистрибутив 7-zip устанавливает не только 7zFM.exe, но и версию для командной строки.
54 Kyrtizanka
 
08.12.11
19:45
можно ссылку, если несложно, я реально вчера качала, но тот дистрибутив  только 7zFM.exe ставит
55 Kyrtizanka
 
08.12.11
19:49
везде 7-Zip 9.20 как раз ставит файл менеджер
56 Rie
 
08.12.11
19:50
57 Rie
 
08.12.11
19:50
(55) У меня почему-то поставил _всё_. Включая документацию.
58 Rie
 
08.12.11
19:53
Том в устройстве C не имеет метки.
Серийный номер тома: F8DB-23FD

Содержимое папки C:\Program Files\7-Zip

08.12.2011  22:34    <DIR>          .
08.12.2011  22:34    <DIR>          ..
18.11.2010  22:08            91 020 7-zip.chm
18.11.2010  20:08            55 808 7-zip.dll
18.11.2010  22:27           914 432 7z.dll
18.11.2010  22:08           163 840 7z.exe
18.11.2010  22:27           162 816 7z.sfx
18.11.2010  22:27           152 064 7zCon.sfx
18.11.2010  22:09           421 888 7zFM.exe
18.11.2010  22:09           227 840 7zG.exe
10.09.2010  12:41               333 descript.ion
18.11.2010  22:11            32 400 History.txt
22.07.2011  00:59    <DIR>          Lang
02.01.2010  16:18             1 927 License.txt
18.11.2010  22:12             1 565 readme.txt
08.12.2011  22:34            58 641 Uninstall.exe
             13 файлов      2 284 574 байт
              3 папок   1 094 520 832 байт свободно
59 Kyrtizanka
 
08.12.11
19:57
блин, не получается)) спасибо всем, надо домой, придется завтра продолжить мучения с одной строчкой
60 Kyrtizanka
 
09.12.11
13:24
Здравствуйте, правильно так
Для каждого ЭлементМассива из НайденныеФайлы Цикл
           
КомандаСистемы("""C:\Program Files\7-Zip\7z.exe"" a C:\Obmen\"+ЭлементМассива.Имя+".7z"+" C:\obmen -v500k");
КонецЦикла;
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.