Имя: Пароль:
1C
1C 7.7
v7: Файл не найден
,
0 Масянька
 
26.04.18
13:50
День добрый!
Кратко: архивируются файлы и нужно получить файл архива.
Код:
    мЕстьСлэш = 0;

    Имя = КаталогДляЗаписи;
    
    // последний слэш
    мЕстьСлэш = Прав(СокрЛП(Имя), 1);
    Если (КодСимв(мЕстьСлэш) = 92) Тогда
        Имя = Сред(СокрЛП(Имя), 1, (СтрДлина(СокрЛП(Имя)) - 1));
    КонецЕсли;
        
    ИмяАрхива     = Имя + ".rar";
    ИмяКаталога = КаталогДляЗаписи + "*.*";

    СтрокаКоманды = "D:\Tools\WinRAR\RAR.exe a -r- -s -ep1 -m5 """ + ИмяАрхива + """ """ + ИмяКаталога + """";
Сообщить("" + СтрокаКоманды);
    КомандаСистемы("start " + СтрокаКоманды);
Сообщить("архив - " + ИмяАрхива);    
Сообщить("" + ФС.СуществуетФайл(ИмяАрхива));    

Возвращает 0.
Есть каталог, есть файл (создается), но не находит.
Почему?
Спасибо.
1 SleepyHead
 
гуру
26.04.18
13:52
(0) в имени папки есть пробелы? длина пути к файлу больше 64 знаков?
2 Масянька
 
26.04.18
13:54
(1) Есть пробелы. Имя - на русском. Длина = 55.
3 Kigo_Kigo
 
26.04.18
13:55
СтрокаКоманды """ замени на симв(34)
4 Kigo_Kigo
 
26.04.18
13:56
И както странно путь формируется, сначало ИмяАрхива потом имя каталога
5 Масянька
 
26.04.18
13:59
(3) Зачем?
(4) Открой СП по рару и почитай.
6 Масянька
 
26.04.18
14:09
У меня ощущение, что ФС срабатывает до КомандаСистемы.
7 Масянька
 
26.04.18
14:16
Буду сама с собой разговаривать...
А чего бы не поговорить с умным человеком...
Путь к файлу сетевой (\\....).
8 Кац
 
26.04.18
14:18
Семерка еще сырая
9 Kigo_Kigo
 
26.04.18
14:19
(5) Не не понимает путь, кавычка не заходит, смотри отладчиком
2 я таким гемороем и не собираюсь заниматься
10 Cool_Profi
 
26.04.18
14:21
start - она вообще-то асинхронная... Запускает программу и возвращается...
А если в архив овердофига файлов кладёт, он будет создаваться до следующих выборов президента...
11 Масянька
 
26.04.18
14:24
(8) Предлагаешь сдаться? :))))
(10) Попробую...
12 Cool_Profi
 
26.04.18
14:26
(11) попробуешь дождаться следующих выборов? Да брось, столько люди не живут...
13 vova1122
 
26.04.18
14:37
Сообщить("" + ФС.СуществуетФайл(ИмяАрхива));  - тут разве не нужно писать полный путь?
14 Кац
 
26.04.18
14:38
(11) Сдаться и наконец перейти на сырую восьмерку
15 Масянька
 
26.04.18
14:40
(13) Да полный там путь... Полнее некуда...
(14) Нет уж... Жуйте сами свой кактус.
16 Масянька
 
26.04.18
14:42
Всё-таки, ощущение верное...

Существование файл срабатывает до завершения КомандаСистемы...
Вот как обойти - пока не понятно...
17 Кац
 
26.04.18
14:42
убрала уже start?
18 vova1122
 
26.04.18
14:43
а старт то зачем? у меня так работает
КомандаСистемы(Кавычка+"C:\Program Files\WinRAR\rar.exe"+Кавычка+" a -ep D:\2247507.rar D:\2247507.dbf");
19 НЕА123
 
26.04.18
14:45
(16)
возможно ошибаюсь.
попробовать батник с анализом кода возврата.
20 Масянька
 
26.04.18
14:45
(17) Во-о-от... А ты "сдаться-сдаться" :)
(18) На батнике проверяла - чтобы окно закрывалось.
Чего сразу не сказали?
(19) На нем родимом и проверяла.
21 Кац
 
26.04.18
14:46
(20) так сказали уж -> (10)
22 vova1122
 
26.04.18
14:48
(16) Раз срабатывает до завершения архивирования. то запилить паузу на пару секунд. или сколько там делается архив
23 Масянька
 
26.04.18
14:48
(21) (18) (12) Вот что за люди?
Спасибо, мужики!!!
24 Масянька
 
26.04.18
14:50
(21) Я там прочитала "КомандаСистемы"... Почему? :)))
25 Cool_Profi
 
26.04.18
14:53
Масяня в своём стиле, ничего не меняется...
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс