0
- 21.08.2015 - 17:56
|
Затык. Или мозги отсырели. Имеется задание для компа в виде текстовой строки: "C:\Program Files (x86)\7-zip\7z.exe" x "D:\Bases8x\Расчёт ЗП за июнь 2015.xlsx" -oC:\Users\User\AppData\Local\Temp\TempXLSX\ * Через Пуск и консольный ввод этой строки все чудесно исполняется: 7z.exe запускается, ключи-команды кушает, файл раздербенивается куда и как надо во временный каталог. А из кода - никак. КомандаСистемы(стрКоманды); - не реагирует. И не ругается, что обидно. Т.е., каталог TempXLSX остается пустым. И как победить? V77 & Win7, если что. Пользователь User, само-собой, не привилегированный. | |
1
- 21.08.2015 - 18:25
|
Валера, в понедельник подними эту тему. Решу твой вопрос. У меня 7z - творит чудеса. И с МВД обменивается, и с ЦБ РФ, и с нашим фронт-офисом... И все это из 1С77. | |
2
- 21.08.2015 - 18:34
|
1-DeiMos > К 7z претензий нет. Претензия - к вызову из 1C77. Не к 8.х! К 7.7. И надо именно в среде Win7. Или w2008. х64 которые. | |
3
- 21.08.2015 - 18:36
| может в батник(ну или чего-там) и его запускать? | |
4
- 21.08.2015 - 18:47
|
У мну тоже были проблемы из вызова из 1С77. Говорю жеж, напиши в понедельник. Из 77 че хошь тебе вызову. | |
5
- 21.08.2015 - 18:48
| В среде 2008 R2 Server вроде работает уже тыщу лет... | |
6
- 21.08.2015 - 18:52
| а попробовать от привилегированного? запустить 7.7 от лица администратора? по крайней мере, вопрос о привилегированности/непривилегированности сразу снимется - будет ясно, в этом причина или в чем-то другом. | |
7
- 21.08.2015 - 21:14
| 6-Блондинка в шок > Не, это вопрос принципиальный. Никто, даже я сам, не работает под админом. | |
8
- 22.08.2015 - 19:23
| cmd /c "C:\Program Files (x86)\7-zip\7z.exe" x "D:\Bases8x\Расчёт ЗП за июнь 2015.xlsx" -oC:\Users\User\AppData\Local\Temp\TempXLSX\ * | |
9
- 22.08.2015 - 19:24
| %cimspec% /c "C:\Program Files (x86)\7-zip\7z.exe" x "D:\Bases8x\Расчёт ЗП за июнь 2015.xlsx" -oC:\Users\User\AppData\Local\Temp\TempXLSX\ * | |
10
- 23.08.2015 - 23:01
|
9-smaharbA > CMD не хочется: не люблю мелькающих черных окон. А вот эта фигня что-то не собирпется: ScriptControl = createobject("MSScriptControl.ScriptControl"); ScriptControl.language="vbscript"; стр="function UnPack() |On Error Resume Next |Set WshShell = WScript.CreateObject(""WScript.Shell"") |WshShell.Run("+КоманднаяСтрока+",1,true) |if Err.Number = 0 then |UnPack = """" |Else | UnPack = err.Description |end if |end function"; // err.Description возвращает наименование ошибки ScriptControl.AddCode(стр); рез=ScriptControl.run("UnPack"); - грид, пропущен "|" Чтой-то вообще в грусти. Да и версия wsh ныне 5.8, а внятного описания различий от 5.6 найти не могу :( И вообще подзабыл уже... | |
11
- 24.08.2015 - 09:12
|
10-VZ > КомандаСистемы("CMD /C """"%ProgramFiles(x86)%\7-zip\7z.exe"" x ""E:\Bases8x\Расчёт ЗП за июнь 2015.7z"" -o""%temp%\TempXLSX\"" *""") ================================================ КоманднаяСтрока="CMD /C """"%ProgramFiles(x86)%\7-zip\7z.exe"" x ""E:\Bases8x\Расчёт ЗП за июнь 2015.7z"" -o""%temp%\TempXLSX\"" *"""; Шел = Новый COMОбъект("WScript.Shell"); Сообщить(Шел.Run("+КоманднаяСтрока+",1,Истина)); ============================================ %ProgramFiles(x86)% для 32-х разрядного 7-зип %ProgramW6432% для 64 разрядного 7-зип | |
12
- 24.08.2015 - 09:12
|
11-smaharbA > Сообщить(Шел.Run(КоманднаяСтрока,1,Истина)); | |
13
- 24.08.2015 - 11:16
|
Вот так у меня прекрасно работает 7za: Разархивация: ЗапускАрх = ?(Скавычками>0,"""","")+КаталогИБ()+"7za.exe"+?(Ск авычками>0,"""","")+" x "+?(Скавычками>0,"""","")+ФормИмяФайлаДанных+?(Ска вычками>0,"""","")+" -pПароль -o"+?(Скавычками>0,"""","")+ПутьВывода+?(Скавычками >0,"""","")+" -aoa -r -y -x!*"+?(Скавычками>0,"""","")+КаталогИмпорт+?(Скавы чками>0,"""",""); //ЗапуститьПриложение(ЗапускАрх); WSHShell.Run(ЗапускАрх, 0, -1); Архивация: Скавычками=1; ЗапускАрх = ?(Скавычками>0,"""","")+КаталогИБ()+"7za.exe"+?(Ск авычками>0,"""","")+" a "+?(Скавычками>0,"""","")+ФормИмяФайлаДанных+?(Ска вычками>0,"""","")+" -aoa -pПароль "+?(Скавычками>0,"""","")+ИмяИмп+?(Скавычками>0,"" "","")+"\ -r -y"; //ЗапуститьПриложение(ЗапускАрх); WSHShell.Run(ЗапускАрх, 0, -1); | |
14
- 24.08.2015 - 20:49
|
Хм. Распаковка xmsx - не самоцель. "Семерка" - не "восьмерка", с xmsl не работает, и работать никогда не будет. Напрямую, естественно. Только через жопу: распаковать, а потом парсить многочисленные xml. И только так. Кстати, не все обормотки на 8.2(3) кушают этот файл: некоторые затыкаются на анализе [юзерских] наименований листов ;) Завлекательные очень :) Кстати, конвертировать этот файл в более младшие версии - невозможно. Пробовал. И да, загружается он почти 15 минут. Офигеть, и не встать. Хотя у меня 8 Гб. И 64-х разрядная ось, как уже вы поняли. И выкрутасы (10) - не просто так, я хочу еще вылавливать ошибки выполнения: не дебагом же заниматься при эксплуатации. Документации по vsh у меня дофига, только - для вермии 5.6. А на нонешней команда WScript.Sleep FormatNumber(mid(Time,inStr(lcase(LineTxt),"-t")+2))*1000 (при Linetxt="-t5") вдруг перестала работать. В ХП работала, в Win7 - нет. | |
15
- 24.08.2015 - 20:53
|
Я не понял юмора... Ты вообще собираешься тeстить 7za, или я для кого тут писал зря? | |
16
- 24.08.2015 - 21:12
| 15-DeiMos > Спасибо, Дим, конечно. Так работает. Токо надо заменить 7za.exe на 7z.exe... | |
17
- 24.08.2015 - 21:24
|
Не рекомендую менять. Если у тебя вдруг заработало 7z, то не факт, что не продолжит глючить. Рекомендую поменять на 7za. ЗЫ: Спасибо не пью. С тебя ящик коньяка. | |
18
- 24.08.2015 - 22:05
| 17-DeiMos > Не могу поменять. Нет такого файла в дистрибутиве. Igor Pavlov исключил по каким-то соображениям. | |
19
- 24.08.2015 - 22:10
|
Ну и ладно. Работай с 7z. Если работает - то и хорошо. Вопрос решен? Тема закрыта? | |
| Интернет-форум Краснодарского края и Краснодара |