DOS и 1С (CMD и 1С)

39. vx_gas 26 22.04.16 06:16 Сейчас в теме
ping 192.168.0.1 >> C:\ping.txt (найдите 5 отличий от неработающей строки)
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
40. smaharbA 22.04.16 07:15 Сейчас в теме
Сообщить(КомандаСистемы("%CMD% /q /c ping www.yandex.ru"));
41. Mirac 27.09.08 01:28 Сейчас в теме
Вопрос следущего характера:
Есть ли возможность работать с CMD из под 1С также, как, например, с InternetExplorer-ом?

ну тоесть для чтения HTML версии страницы можно использовать

Код
Web =  СоздатьОбъект("InternetExplorer.Application");                   // создаем 
Web.Navigate("https://infostart.ru");                                                // переходим по урлу
Текст = Web.Document.documentElement.innerHTML;                      // инвертируем в HTML и пишем как текст
Web.Quit();                                                                                   // закрываем 
Показать полностью


есть ли похожий механизм для "DOS.Application"?
42. vip 27.09.08 09:34 Сейчас в теме
Эх, поколение виндовс...
Чего хотел то от DOS.Application? ;)))
43. Mirac 27.09.08 12:13 Сейчас в теме
ну грубо говоря ping обьекта, а то, что волучится в результате какимто образом обработать...
44. vip 27.09.08 12:34 Сейчас в теме
Ну, мягко отвечая,
ЗапуститьПриложение("ping 192.168.0.1 > ping.txt");

И не пиши никогда про "DOS.Application", засмеют.
Эх, молодежь...
45. CheBurator 3119 27.09.08 13:21 Сейчас в теме
это - поколение некст... все на апи и аппликешнах... ручками не умеют уже ничего...
46. Душелов 4017 27.09.08 13:27 Сейчас в теме
Консоль? Что такое консоль? :)
47. CheBurator 3119 27.09.08 13:45 Сейчас в теме
это - игровая консоль...
48. Mirac 27.09.08 14:34 Сейчас в теме
скажите пожалуйста , о великие!!

а куда сейвается файлик ping.txt????
49. vip 27.09.08 15:13 Сейчас в теме
Позволю себе отвлечься.
Автор прекрасно знает, что такое "переходим по урлу", а вот файлик ping.txt сейвать умеет наверное только мышей.

Куда хочешь, туда и сохраняй, сейваватель.
Например на C:\

Я в акуе с поколения нехт.
NN2P; dicwork; VitusBering; Brawler; +4 Ответить
50. kitt 323 27.09.08 15:18 Сейчас в теме
куда скажешь, туда и засейвиться
ЗапуститьПриложение("ping 192.168.0.1 > C:\AnyExistsPaths\ping.txt");
51. kitt 323 27.09.08 15:19 Сейчас в теме
DOS.Application?
А что вариант:) Душелов, пиши компоненту))
52. Mirac 27.09.08 15:21 Сейчас в теме
2 vip

я конечно прошу просчения, но я начинающий программист 1с
для меня не совсем понятна конструкция
ЗапуститьПриложение("ping 192.168.0.1 > ping.txt"); 

в варианте с

<Code>
Web = СоздатьОбъект("InternetExplorer.Application"); // создаем
Web.Navigate("https://infostart.ru"); // переходим по урлу
Текст = Web.Document.documentElement.innerHTML; // инвертируем в HTML и пишем как текст
Web.Quit(); // закрываем
[/1C-CODE]

все придельно понятно, куда, что и как записывается.

тут же просто запускается приложение и фсе. я так понимаю, что оно что то записало в этот файл, но сам файл не сохранило. сообветствено я спрашиваю конструкции всего описания записи результата PING в файлик.

может комуто это покажется cтранным, но я не понимаю работы "> ping.txt"
53. Mirac 27.09.08 15:28 Сейчас в теме
2 kitt

ЗапуститьПриложение("ping 192.168.0.1 > D:\ping.txt");

не сохраняет ничего... точнее файлика нету!!
54. vip 27.09.08 15:31 Сейчас в теме
Значок ">" перенаправляет стандартный вывод результата работы команды ping (на консоль, т.е. на монитор) в файлик.

A DOS это не "Application", это Windows надстройка над DOS, и хотя бы базовые знания по ней необходимы.
55. Mirac 27.09.08 15:31 Сейчас в теме
а если словить окошко CMD в процесе работы, то в нем следующее:

"Неверный параметр >."

????
56. vip 27.09.08 15:36 Сейчас в теме
> "Неверный параметр >."
Именно так и написано? ">."?
Точечку убери тогда.
57. Mirac 27.09.08 15:38 Сейчас в теме
точки в коде нету...
пробывал это в окне "Выполнить"
Прикрепленные файлы:
58. Mirac 27.09.08 15:41 Сейчас в теме
а если сделать тоже самое, но запустить сначала CMD , а в нем прописть ping 192.168.0.1 > D:\ping.txt - все работает.. тока кодировка кривя(
59. Mirac 27.09.08 15:49 Сейчас в теме
вот как это все в кучу слепить?
60. CheBurator 3119 27.09.08 17:40 Сейчас в теме
сделай файл start.bat
в него положи такую строчку
ping 192.168.0.1 > D:\ping.txt
start.bat запускай через запуститьприложение или выполнитькомандусистемы
61. Mirac 27.09.08 21:40 Сейчас в теме
2 Сhe Burashka

такой вариант к сожалению не подходит(
задумка в том, что АйПи будет менятся в коде...

есть еще варианты?

напривер можно ли как то пердать в CMD нужную команду?
62. Душелов 4017 27.09.08 22:30 Сейчас в теме
А вообще, какая задача-то?
63. MishaD 14 28.09.08 14:00 Сейчас в теме
Попробовал через команду системы. Все работает.

КомандаСистемы(<?>);
Синтаксис:
КомандаСистемы(<СтрокаКоманды>)
Назначение:
Вызывает на исполнение команду DOS.
64. MishaD 14 28.09.08 14:01 Сейчас в теме
Вместо смайлика там скобка
65. CheBurator 3119 28.09.08 14:22 Сейчас в теме
> АйПи будет менятся в коде...
1c позволяет создавать текстовые файлы...
66. coder1cv8 3470 28.09.08 14:40 Сейчас в теме
А зачем вообще какие-то файлики создавать я что-то не пойму?...
Можно из 1С-а сразу StdOut почитать, можно в WMI через Win32_PingStatus сделать...
67. CheBurator 3119 28.09.08 19:39 Сейчас в теме
Вы не трындите, а код рабочий приведите!
68. Mirac 28.09.08 22:12 Сейчас в теме
задумка следующая:

из под 1С выполнять различные ДОС команды

69. poppy 28.09.08 23:35 Сейчас в теме
> > АйПи будет менятся в коде...
> 1c позволяет создавать текстовые файлы...

Бяка. Лучше уж так:
В bat-файле:
@ping %1 > D:\ping.txt
В 1С:
ЗапуститьПриложение("ping.bat 192.168.0.1");


Или так:
ЗапуститьПриложение("cmd /c ping 192.168.0.1 >d:\ping.txt");
или
КомандаСистемы("ping 192.168.0.1 >d:\ping.txt");
утюгчеловек; user699726_skomisaruk; +2 Ответить
70. Mirac 29.09.08 02:25 Сейчас в теме
2 poppy

>> ЗапуститьПриложение("cmd /c ping 192.168.0.1 >d:\ping.txt");
самое оно!!! СПС огромное

есть еще 3 вопроса:
1. Как сделать так, что б окно CMD небыло видно?
2. как несколько таких процедур записать в один файл (ну всмысле что б оно не перезаписывало кажыдй раз файлик заново, а дописывало в него)?
3. как это дело перекодирывать в нормальный вид (дос кодировка в блокноте совсем никак не читается)?
71. poppy 29.09.08 02:55 Сейчас в теме
2Mirac

3. Меню\Формат\Шрифт установи шрифт=Terminal.
Или используй другой просмотрщик текстовых файлов.
72. coder1cv8 3470 29.09.08 08:29 Сейчас в теме
Без окошка делается так:
Код
Shell=Новый COMОбъект("WScript.Shell");
Shell.Run(Команда,0,0);
Показать полностью

Впрочем, последую совету Че и не буду тут больше "трындеть", разбирайтесь сами... )
73. Mirac 30.09.08 10:04 Сейчас в теме
74. vovan519 276 30.09.08 13:09 Сейчас в теме
Можно ли потрындеть тут у Вас? Если интересуют не все cmd DOS, а только ping ...
Функция ПроверитьВклКомпа(name)
Если ПустоеЗначение(name) = 1 Тогда
Возврат 0;
КонецЕсли;
Попытка
scrptCtrl=СоздатьОбъект("MSScriptControl.ScriptControl");
scrptCtrl.language="vbscript";
scrptCtrl.addcode("
|Function Avaible()
|Set objWMIService = GetObject(""winmgmts:{impersonationLevel=impersonate}"")
|Set objPing = objWMIService.ExecQuery(""select * from Win32_PingStatus where address = '"+name+"'"")
|For Each objStatus in objPing
|If IsNull(objStatus.StatusCode) Or objStatus.StatusCode <> 0 Then
| Avaible = 0
|Else
| Avaible = 1
|End If
|Next
|End function
|");
Рез = ScrptCtrl.Run("Avaible");
Возврат Рез;
Исключение
Сообщить("Тест 1");
Возврат 0;
КонецПопытки;
КонецФункции // ПроверитьВклКомпа()
75. DoS 15.10.08 14:58 Сейчас в теме
Мне обидно за себя.............. Совсем все позабыли Dos Видимо DDos по всем плачет))))

Что по поводу
есть маленький код под 7.7 раз уж нужно в файл добовлять
scr = СоздатьОбъект("WScript.Shell");
Фс.УстТекКаталог(Строка(КаталогИБ())+"TEMP");
Если ФС.ТекКаталог() <>"" Тогда
Дир = Строка(scr.Run("cmd /c ping "+СокрЛП(СтрокаПинга)+" >"+Строка(фс.ТекКаталог())+"swap.txt",0,1));
Иначе
ФС.УстТекКаталог(СТрока(каталогИБ()));
ФС.СоздатьКаталог("TEMP");
Дир = Строка(scr.Run("cmd /c ping "+СокрЛП(СтрокаПинга)+" >"+Строка(фс.ТекКаталог())+"\swap.txt",0,1));
КонецЕсли;

СтрокаПинга это рквизит диалога
А все остальное ручки при работе с файлами.
З.Ы. Я сам новичок так что не обессудьте стаж 1.5 месяца
76. sound 535 11.04.09 17:42 Сейчас в теме
Понимаю что малость опоздал :) Просто сам недавно столкнулся.
Накидал аналогичное как в (34), тока для 8-ки. Не уверен что все правильно, может если сетевуха не одна (или еще что-нибудь), работать не будет. Но у меня работает.
ЗЫ: Сорри за буржуйский, просто когда вперемешку выглядит как то не очень.

// Функция Avaible проверяет "пингуется" ли указанный IP
Function Avaible(IP) Export
	Try
		ServicesSet = GetCOMObject("winmgmts:{impersonationLevel=impersonate}");
		Items = ServicesSet.ExecQuery("SEL ECT StatusCode fr om Win32_PingStatus WHERE address = '" + IP + "' AND Timeout=10");
	Except
		Return Undefined;
	EndTry;
	For Each Item In Items Do
		If Item.StatusCode = 0 Then
			Return True;
		Else
			Return False;
		EndIf;
	EndDo;
EndFunction
Показать


Пример:
Если  Avaible("127.0.0.1") Тогда
// Пингуется
Иначе
// НЕ Пингуется
КонецЕсли
77. sound 535 11.04.09 17:43 Сейчас в теме
Может у кого есть более "гуманный" способ попинговаться а?
78. trofa 27.01.10 09:18 Сейчас в теме
ФС.УстТекКаталог("C:\");
ПОТОМ КОМАНДАСИСТЕМЫ.....
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот