|
В созданном батнике из 1с выполняется только первая строка. | ☑ | ||
---|---|---|---|---|
0
davlen86
31.05.17
✎
16:15
|
Люди пожалуйста помогите.Уже с ума схожу))). В коде 1с создается батник и потом из кода же запускается. При этом выполняется только первая строчка батника. Если этот же батник запустить вручную то обрабатывает все как положено. В чем может быть причина?
|
|||
1
Lexey_
31.05.17
✎
16:15
|
(0) в коде
|
|||
2
dezss
31.05.17
✎
16:15
|
(0) сколько всего строк а батнике?
|
|||
3
dezss
31.05.17
✎
16:16
|
после последней строки советую добавить еще один Символы.ПС
|
|||
4
SSSSS_AAAAA
31.05.17
✎
16:17
|
(0) Первая, навскидку - у 1с есть права только то, что есть в первой строке и нет прав на то, что в остальных.
|
|||
5
davlen86
31.05.17
✎
16:17
|
montage C:\Test\2.jpg C:\Test\3.jpg -geometry 400x300 C:\Test\23.jpg
convert C:\Test\1.jpg -resize 1024x768 C:\Test\11.jpg convert C:\Test\23.jpg -resize 1024x768 C:\Test\23.jpg convert -append C:\Test\11.jpg C:\Test\23.jpg C:\Test\23.jpg |
|||
6
SSSSS_AAAAA
31.05.17
✎
16:18
|
Кстати, содержимое батника жутко секретное и его нам надо угадать?
|
|||
7
davlen86
31.05.17
✎
16:18
|
(5) это батник
|
|||
8
davlen86
31.05.17
✎
16:19
|
Функция ЗаписатьИВыполнитьБатник(КоманднаяСтрока, ПутьКБатнику)
Текст = Новый ТекстовыйДокумент; Текст.УстановитьТекст(КоманднаяСтрока); Текст.Записать(ПутьКБатнику, "cp866"); Попытка Объект = Новый COMОбъект("wscript.shell"); Объект.Run(ПутьКБатнику,0,Истина); Возврат Истина; Исключение ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ОписаниеОшибки()); Возврат Ложь; КонецПопытки; КонецФункции в командной строке текст (5) |
|||
9
Fish
31.05.17
✎
16:22
|
(8) А в записанном батнике точно все строки?
|
|||
10
davlen86
31.05.17
✎
16:23
|
(9), да я же его потом и запускаю вручную.
|
|||
11
davlen86
31.05.17
✎
16:23
|
кстати выполняется все на стороне сервера 1с
|
|||
12
AlvlSpb
31.05.17
✎
16:27
|
(8) Поставь знак переноса строки (как в тексте запроса).
|
|||
13
davlen86
31.05.17
✎
16:28
|
(12) спасибо попробую
|
|||
14
mehfk
31.05.17
✎
16:31
|
сделай так
echo Первая команда >> C:\Test\log.txt montage C:\Test\2.jpg C:\Test\3.jpg -geometry 400x300 C:\Test\23.jpg >> C:\Test\log.txt echo Вторая команда >> C:\Test\log.txt convert C:\Test\1.jpg -resize 1024x768 C:\Test\11.jpg >> C:\Test\log.txt echo Третья команда >> C:\Test\log.txt convert C:\Test\23.jpg -resize 1024x768 C:\Test\23.jpg >> C:\Test\log.txt echo Четвертая команда >> C:\Test\log.txt convert -append C:\Test\11.jpg C:\Test\23.jpg C:\Test\23.jpg >> C:\Test\log.txt и посмотри что будет в файле C:\Test\log.txt |
|||
15
uno-group
31.05.17
✎
16:31
|
convert /? конвертирует диск в нтфс
|
|||
16
davlen86
31.05.17
✎
16:35
|
(12) не работает,
(14) спасибо, сейчас попробую. (15) нет это команда ImageMagik |
|||
17
SSSSS_AAAAA
31.05.17
✎
16:36
|
(5) Дополние свои montage и convert полными к ним путями.
|
|||
18
arsik
гуру
31.05.17
✎
16:36
|
(8) Шлак какой то. А не проще сразу через wscript все запускать? НАхера батник то?
|
|||
19
Fish
31.05.17
✎
16:36
|
(16) И команда винды:
"Microsoft Windows [Version 6.3.9600] (c) Корпорация Майкрософт (Microsoft Corporation), 2013. Все права защищены. C:\Windows\System32>convert /? Преобразование файловой системы тома из FAT в NTFS. CONVERT том: /FS:NTFS [/V] [/CvtArea:имя_файла] [/NoSecurity] [/X] том Определяет букву диска (с последующим двоеточием), точку подключения или имя тома. /FS:NTFS Задает преобразование файловой системы в NTFS. /V Вывод подробных сообщений при выполнении преобразования. /CvtArea:имя_файла Указывает непрерывный файл в корневой папке для резервирования места для системных файлов NTFS. /NoSecurity К преобразуемым файлам и папкам будет разрешен доступ для всех пользователей. /X Принудительное отключение этого тома (если он был подключен). Все открытые дескрипторы этого тома станут недействительными." Похоже, дело именно в этом. |
|||
20
Garykom
гуру
31.05.17
✎
16:37
|
(18) ну некто даже не в курсе про полный пути и если в мануале написано прописать в path то...
|
|||
21
SSSSS_AAAAA
31.05.17
✎
16:38
|
(16) " нет это команда ImageMagik" которая совпадает по имени с другой командой. Потому или пиши пути, или предщварительно заходи к в нужный каталог, дабы не было неоднозначности что таки вызывать
|
|||
22
davlen86
31.05.17
✎
16:38
|
(19) если вручную запускать то все же работает
|
|||
23
SSSSS_AAAAA
31.05.17
✎
16:39
|
(22) Вручную ты запускаешь из того же каталога, что и 1с и с теми же правами?
|
|||
24
arsik
гуру
31.05.17
✎
16:39
|
(20) :)) ага (22)
|
|||
25
davlen86
31.05.17
✎
16:40
|
(23) абсолютно, прописано в переменные среды path
|
|||
26
SSSSS_AAAAA
31.05.17
✎
16:43
|
(25) Что абсолютно? Ну и что? Ты совсем не понимаешь что тьакое полные пути и зачем их иногда надо писать? Ты как определил какой каталог является текущим при запуске твое батника из 1с?
|
|||
27
davlen86
31.05.17
✎
16:44
|
(23) стоп, права не те же
|
|||
28
SSSSS_AAAAA
31.05.17
✎
16:46
|
Насколько я помню, все автоматизаторы запускают то, что их просят запустить из %systemdir%, то бишь c:\windows\system32
|
|||
29
SSSSS_AAAAA
31.05.17
✎
16:48
|
Как думаешь, дойдет ли дело до set path, если в нем сразу же найдется convert? При чем совершенно не от ImageMagic?
|
|||
30
davlen86
31.05.17
✎
16:52
|
(29) понятно.
А как тогда писать правильно команду C:\Program Files\ImageMagick-7.0.5-Q16\convert ? |
|||
31
Fish
31.05.17
✎
16:56
|
(30) Только в кавычках.
|
|||
32
Garykom
гуру
31.05.17
✎
16:57
|
(31) ну вот нафуя?
|
|||
33
arsik
гуру
31.05.17
✎
16:57
|
Объект.Run(WshShell.Run """C:\Program Files\ImageMagick-7.0.5-Q16\convert.exe"" -geometry 400x300 C:\Test\23.jpg""",0,Истина);
|
|||
34
Garykom
гуру
31.05.17
✎
16:57
|
(32)+ всю развлекуху испортил ((
|
|||
35
arsik
гуру
31.05.17
✎
16:57
|
Тьху ты копипаста
Объект.Run("""C:\Program Files\ImageMagick-7.0.5-Q16\convert.exe"" -geometry 400x300 C:\Test\23.jpg""",0,Истина); |
|||
36
Garykom
гуру
31.05.17
✎
16:58
|
(33) (35) эээ сча будет веселуха с "кавычка hell" ))
|
|||
37
arsik
гуру
31.05.17
✎
16:59
|
Опять мимо :)
Объект.Run("""C:\Program Files\ImageMagick-7.0.5-Q16\convert.exe"" -geometry 400x300 C:\Test\23.jpg",0,Истина); |
|||
38
davlen86
31.05.17
✎
17:08
|
(37) спасибо
|
|||
39
SSSSS_AAAAA
31.05.17
✎
17:09
|
(37) Извращенцы...
достаточно в его батник первой строкой добавить cd "C:\Program Files\ImageMagick-7.0.5-Q16" и все остальное оставить как есть. |
|||
40
Вафель
31.05.17
✎
17:12
|
каталог не указан, а пути относительные для программ
|
|||
41
arsik
гуру
31.05.17
✎
17:13
|
(39) По уму вообще использовать COM, а не командную строку. Тем более ImageMagick это позволяет
|
|||
42
SSSSS_AAAAA
31.05.17
✎
17:15
|
(41) А вот с этим соглашусь полностью. :)
|
|||
43
Garykom
гуру
31.05.17
✎
17:18
|
(41) (42) при переноса сервера 1С на линукс кого то проклянут...
|
|||
44
davlen86
31.05.17
✎
17:19
|
(42) подскажите это как?
|
|||
45
arsik
гуру
31.05.17
✎
17:23
|
(44) Делай уже как делал. Тут (Garykom) против.
|
|||
46
ILM
гуру
31.05.17
✎
18:44
|
Голосую за
Converter=Новый COMObject("ImageMagick.Application"); |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |