Ошибка выполнения команды WshShell.Run #671883


#0 by Andy MilkyWay
Выполняю в DOS-окне такую команду: , которая возвращает нужный мне результат: D: est03.jpg JPEG 3000x4000 3000x4000+0+0 8-bit sRGB 3.757MB 0.000u 0:00.021 Теперь хочу такую же команду выполнить в 1с и получить результат для дальнейшего анализа его текста. Мне не нужно, чтобы открывалось и закрывалось окно DOS, поэтому в 1с запускаю такой код: В результате выполнения сообщается: Ошибка выполнения команды C:Progra~1ImageM~1.6-QIdentify.exe D: est03.jpg Что я делаю не так, как получить такую же строку-результат, как и в DOS-окне?
#1 by skunk
получить такую строку прямо в 1с ты не сможешь. можно будет направить вывод строки в текстовый файл. и потом оттуда её тянуть.
#2 by Andy MilkyWay
пробовал перенаправлять  в файл через >d: est es.txt - в  DOS окне работает, а тут - нет
#3 by эцп
У ImageMagic есть COM-объекты. Может попробовать обработать через них? Нужно попробовать запустить эту команду от имени пользователя 1С
#4 by skunk
ну так можно еще ковычками поиграть
#5 by Andy MilkyWay
чуть подробнее не скажете, как вызывать ком-объект?
#6 by Andy MilkyWay
кавычками "игрался", сначала указывал полный путь с длинными именами файлов в кавычках, тоже самое, выдает ошибку
#7 by skunk
а это убирал "StdOut"?
#8 by Andy MilkyWay
Да, пробовал. Я вначале вообще без StdOut делал, потом стал смотреть информацию по WshShell.Run. Нашел, что он может трактовать ">файл" как параметр, поэтому лучше использовать StdOut, что, мол, то же самое. Когда стал использовать StdOut, я и увидел, что там ошибка выдается в результате.
#9 by Jaap Vduul
Чтобы получить доступ к StdOut, нужно использовать exec, а не run.
#10 by Jaap Vduul
Если неохотоа заморачиваться с StdOut, то делаешь батник с перенаправлением в файл, парметром ему передаёшь файл. Батник уже запускаешь через run.
#11 by Andy MilkyWay
Хорошая мысль, надо попробовать. Спасибо. Отпишусь
#12 by Deon
Батник некрасиво, он же мелькает черным окном. Или нет?
#13 by skunk
второй параметр рана
#14 by Andy MilkyWay
Да, всё получилось красиво с bat-ником: перенаправление в  файл сработало, окно DOS не показывалось
#15 by Jaap Vduul
В принципе, можно и без батника обойтись. В этом случае нужно через run не саму команду запускать, а командный процессор:
#16 by Andy MilkyWay
Что-то не получается, если передаю такую строку %comspec% /c "C:Program FilesImageMagick-6.8.6-Q16Identify.exe" "D: est03.jpg" > "D: est mp_info.txt"
#17 by rutony
Вся проблема исключительно в ковычках, нужно что то в этом духе, но это если это не серверная система, на ней такие команды не отрабатываются, нужно писать совсем по другому...
#18 by Jaap Vduul
Да, с ковычками можно запутаться. Вроде, как-то так должно получиться: %comspec% /c ""C:Program FilesImageMagick-6.8.6-Q16Identify.exe" "D: est03.jpg"" > "D: est mp_info.txt"
#19 by Andy MilkyWay
В Dos-окне получается так, а через  WshShell.Run файл не создается. Ну, да ладно, уже есть способ через bat.Спасибо всем
#20 by Лефмихалыч
Выкиньте свои батники в помойное ведро - у имагемагика есть нормальный программный интерфейс
#21 by ptiz
а так? .Run("cmd /c C:Progra~1ImageM~1.6-QIdentify.exe D: est03.jpg")
#22 by rutony
Причем тут  батники? Шеловский скрипт же... Запуск файла с параметрами. А эта хрень делает тоже самое..
#23 by Andy MilkyWay
Мы - только "за", только непонятно как установить. Читаю: "When this package is installed, ImageMagickObject and its sample programs are installed to this path: У меня такого ImageMagickObject, где его скачать?
#24 by Andy MilkyWay
Нашел, где устанавливается ком-объект при инсталляции ImageMagick. В папке появилась подпапка ImageMagickObject. Попробовал фирменный vbs-скрипт, он сработал, но, когда то же пытаюсь сделать в 1с, что и этот скрипт, пишет, что класс не зарегистрирован. Проверил в реестре, поискал, вроде бы нашел ветку с таким названием ImageMagickObject, но ошибка не уходит
#25 by Andy MilkyWay
может я неправильно перенес в 1с код из vb-скрипта: было в скрипте в 1с пишу ?
#26 by ЧеловекДуши
WshShell = Новый COMОбъект("ImageMagickObject.MagickImage.1");
#27 by Andy MilkyWay
прошу прощения, это я скопировал неправильно, я так и написал в 1с, как Вы.
#28 by Andy MilkyWay
т.е. ошибка возникает именно при таком написании. Не понятно, в чем дело?
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

Похожие вопросы 1С

В этой группе 1С