Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.90/21: Рейтинг темы: голосов - 21, средняя оценка - 4.90
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,328

Запуск процесса с помощью WScript.Shell

06.05.2017, 08:13. Показов 4256. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
здравствуйте если в бат файл записать:
Visual Basic
1
Print #1, ".\smartid_sample.exe " & Chr$(34) & sFP & Chr$(34) & " ..\data-zip\bundle_passport_drvlicrus.zip > output.txt"
и выполнить его то нужное мне действие происходит
если пробую:
Visual Basic
1
2
3
ChDrive "C"
ChDir "C:\SmartIDReader\bin"
CreateObject("WScript.Shell").Run "" & "C:\SmartIDReader\bin\smartid_sample.exe " & Chr$(34) & sFP & Chr$(34) & " ..\data-zip\bundle_passport_drvlicrus.zip > output.txt" & ""
то процесс в консоли запускается, а нужного результата нет, почему? где то ошибся? или неправильный подход? спасибо
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
06.05.2017, 08:13
Ответы с готовыми решениями:

C# + Wscript.Shell
Всем доброго времени суток. Вопрос такой, имеется некая команда, которая выполняется через Shell с использованием следующего кода. ...

Создание ActiveX WScript.Shell
Всем хорошего Дня! В VBScript (в JavaScript самое) пишу: set WshShell = CreateObject("WScript.Shell") Выдаёт, то не может...

Не получается корректно работать с Wscript.shell
В результате длительных исследований написал примерно вот такой агент: Sub Initialize On Error Goto ErrGlobal Print "BEGIN...

14
141 / 119 / 29
Регистрация: 12.02.2017
Сообщений: 308
07.05.2017, 20:06
Смотрите документацию к программе, может быть пропущен какой-нибудь разделяющий пробел или символ.
0
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,328
07.05.2017, 21:48  [ТС]
есть мнение, что будет так:
Visual Basic
1
2
3
ChDrive "C"
ChDir "C:\SmartIDReader\bin"
CreateObject("WScript.Shell").Run "" & "CMD /C C:\SmartIDReader\bin\smartid_sample.exe " & Chr$(34) & sFP & Chr$(34) & " ..\data-zip\bundle_passport_drvlicrus.zip > output.txt" & ""
ещё не проверял....
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18033 / 7736 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
10.05.2017, 17:02
Потому что знак > может обрабатывать только батник (то есть процесс cmd.exe).
Во втором примере вы скармливаете этот знак программе smartid_sample.exe. Разумеется, она не знает, что с ним делать.

P.S. Вопрос стоило адресовать на форум по Visual Basic 6, а не Batch.

Добавлено через 2 минуты
Интересующий вас код на VB6 я уже выкладывал с использованием пайпов в этой теме: Как организовать обмен данными с Шахматным Движком?
0
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,328
10.05.2017, 19:04  [ТС]
может
Цитата Сообщение от Dragokas Посмотреть сообщение
знак >
заменить на что-то другое, на что? сложновато по выложенной ссылке на топик
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18033 / 7736 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
10.05.2017, 19:44
Если сложно, можете решить задачу в одну строку:

Visual Basic
1
MsgBox CreateObject("WScript.Shell").Exec("cmd.exe /c echo 123").StdOut.ReadAll()
cmd.exe /c echo 123 замените на свою программу
1
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,328
11.05.2017, 03:51  [ТС]
только не понял, зачем здесь нужен
Цитата Сообщение от Dragokas Посмотреть сообщение
MsgBox
???
Цитата Сообщение от Dragokas Посмотреть сообщение
cmd.exe /c echo 123 замените на свою программу
то есть будет так?
Visual Basic
1
2
MsgBox CreateObject("WScript.Shell").Exec("" & "CMD /C C:\SmartIDReader\bin\smartid_sample.exe " & Chr$(34) & sFP & Chr$(34) & " ..\data-zip\bundle_passport_drvlicrus.zip > output.txt" & ""
).StdOut.ReadAll()
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18033 / 7736 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
11.05.2017, 04:04
Всё не так.
Зачем CMD, зачем знак >

Visual Basic
1
MsgBox CreateObject("WScript.Shell").Exec("C:\SmartIDReader\bin\smartid_sample.exe " & """" & sFP & """" & "" ..\data-zip\bundle_passport_drvlicrus.zip").StdOut.ReadAll()
Добавлено через 41 секунду
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
только не понял, зачем здесь нужен
Затем, чтобы показать что это работает. Мне лень писать код записи в файл. Сами напишете.
1
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,328
11.05.2017, 04:38  [ТС]
Цитата Сообщение от Dragokas Посмотреть сообщение
MsgBox CreateObject("WScript.Shell").Exec("C:\S martIDReader\bin\smartid_sample.exe " & """" & sFP & """" & "" ..\data-zip\bundle_passport_drvlicrus.zip").StdO ut.ReadAll()
извините, что надо подправить-пишет Синтаксическая ошибка
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18033 / 7736 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
11.05.2017, 17:04
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
Option Explicit
 
Private Sub Form_Load()
    Dim CMDLine         As String
    Dim Program         As String
    Dim Arg             As String
    Dim ResultFile      As String
    Dim sFP             As String
    Dim sResult         As String
    Dim ff              As Long
    
    sFP = "??????????" '// TODO
    
    ResultFile = "output.txt"
    Program = "C:\SmartIDReader\bin\smartid_sample.exe"
    Arg = """" & sFP & """" & " " & "..\data-zip\bundle_passport_drvlicrus.zip"
    
    CMDLine = Program & " " & Arg
    
    ChDrive "C"
    ChDir "C:\SmartIDReader\bin"
    
    sResult = CreateObject("WScript.Shell").Exec(CMDLine).StdOut.ReadAll()
    
    ff = FreeFile()
    
    Open ResultFile For Output As #ff
        Print #ff, sResult
    Close #ff
    
    CreateObject("Shell.Application").ShellExecute ResultFile, "", "", "", 1
End Sub
0
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,328
11.05.2017, 18:01  [ТС]
Вы не поняли с
Цитата Сообщение от Dragokas Посмотреть сообщение
Open
и далее запись в батник и запуск этого батника у меня есть вариант и всё гут
просто подумал-зачем велосипед, думал без батников смд, а сразу Run и дело в шляпе
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18033 / 7736 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
11.05.2017, 18:14
В коде, приведённом выше, нет никаких батников.
Результат выполнения smartid_sample.exe сохраняется в текстовый файл, и затем этот файл открывается.
0
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,328
11.05.2017, 18:52  [ТС]
добавил, подчеркнул
думал может без батников смд, текстовых файлов, а сразу Run и дело в шляпе.....
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18033 / 7736 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
11.05.2017, 19:10
Ну, я не экстрасенс. Техзадания не было. Как понял, так и написал.
Вы в первом посте что просите:
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
и выполнить его то нужное мне действие происходит
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
то процесс в консоли запускается, а нужного результата нет, почему?
там идёт запись в текстовый файл.

Вот я и написал, как вывести в текстовый файл.
Что такое нужное действие и нужный результат - только вы можете знать.
0
oh my god
 Аватар для fever brain
1456 / 796 / 161
Регистрация: 05.01.2016
Сообщений: 2,307
Записей в блоге: 8
19.05.2017, 07:08
хи-хи
Дракон, отвечаю, он еще раз выскажеться, посмотрим......

Добавлено через 4 минуты
Я ЗА РЕШКОЙ ......... если что ))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
19.05.2017, 07:08
Помогаю со студенческими работами здесь

Выполнение команды не юзая WScript.Shell
Всем привет вопрос в заголовке нужно выполнить команду например start 123.exe или ping google.com Добавлено через 10 минут и без...

Вызов объектов Wscript.Shell с именем из переменной
Задача: есть переменная, в которой задается количество объектов Wscript.Shell, которые надо вызвать. Как мне вызвать нужное количество...

Wscript.Shell.Run не выводит результат в файл
Доброго всем времени! Ситуация такая: Нужно запустить экзешник с параметрами, который на стандартный вывод выводит сообщение. Нужно...

Как запустить CreateObject ("WScript.Shell") под администратором?
такой батник работает @echo on ( echo Open xx.xx.xx.xx echo Login echo pass echo PROMPT echo cd tam echo ls

Можно ли запускать с помощью wscript.exe приложения, не входящие в список разрешенных приложений?
Одно приложение нужное для работы формирует Word документы используя Wscript.exe. Можно ли запускать с помощью Wscript.exe приложения...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
Контроль уникальности заводского номера - вариант №2
Maks 24.03.2026
В отличие от предыдущего варианта добавлено прерывание циклов, также добавлены новые переменные для сохранения контекста ошибки перед прерыванием цикла: Процедура ПередЗаписью(Отказ, РежимЗаписи,. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера - вариант №1
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере нетипового документа выдачи шин для спецтехники с табличной частью, разработанного в конфигурации КА2. Данные берутся из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru