|
0 / 0 / 1
Регистрация: 28.06.2016
Сообщений: 114
|
||||||
Запустить powershell с параметрами и вернуть в переменную04.04.2017, 01:13. Показов 4300. Ответов 11
Метки нет (Все метки)
Пробую через winapi запустить процесс Powershell с параметрами и получаю ошибку которая не поддается здравой логике, постоянно выскакивает и закрывается окно cmd. Подскажите в какую сторону копать?
0
|
||||||
| 04.04.2017, 01:13 | |
|
Ответы с готовыми решениями:
11
Запустить программу с параметрами и вернуть ответ Запустить PowerShell-скрипт как службу
|
|
Модератор
|
|
| 04.04.2017, 07:57 | |
Сообщение было отмечено Victoros6666 как решение
Решение
Мне кажется, что ошибочна строка с перенаправлением вывода
params db "Get-ChildItem test_write >1.txt 2>&1", 0 Попробуйте запускать из программы простые скрипты (вывод "Hello" и ожидание клавиши) - убедиться в корректности программы. Потом запускать из cmd powershell с такой строкой параметров. После удачных пусков переходить к пуску данного скрипта из программы.
1
|
|
|
Asm/C++/Delphi/Py/PHP/VBA
|
||||||||||||||||
| 04.04.2017, 21:06 | ||||||||||||||||
Сообщение было отмечено Victoros6666 как решение
Решение
Ооо, друг мой, тут куча всего...
Во-первых, почему данные в секции импорта? Вынеси fileName и всё прочее перед data importВо-вторых, ты создаёшь поток и главным потоком входишь в его же код. Странно. Т.е. у тебя и основной поток и вновь созданный работают параллельно в одном и том же коде... Или ты думаешь, что после CreateThread текущий поток приостановится?Да и зачем он вообще нужен этот поток? В-третьих, что за лишний первый параметр 0 у CreateProcess?И перед вызовом структура sinfo должна содержать корректные данные.В-четвёртых, если используется CreateProcess, то путь к файлу powershell.exe должен быть полным, т.е. с путём и расширением.Это не ShellExecute (который закомментирован).В общем, корректный вариант будет таким:
invoke CreateThread, то процедура run_ps компилироваться не будет, так что надо убрать слова proc/endpДобавлено через 3 минуты И ещё неплохо бы разделить секции кода и данных:
3
|
||||||||||||||||
|
0 / 0 / 1
Регистрация: 28.06.2016
Сообщений: 114
|
|||||||||||
| 05.04.2017, 00:35 [ТС] | |||||||||||
|
Через CreateProcess запустил powershell, спасибо всем за помощь. Но не могу понять почему происходит следующие, если запустить из программы данный код. Функция скачивается, но не запускается соответственное данные которые возвращает функция не передаются в файл.
0
|
|||||||||||
|
Asm/C++/Delphi/Py/PHP/VBA
|
||||||
| 05.04.2017, 11:14 | ||||||
Сообщение было отмечено Victoros6666 как решение
Решение
Нерабочий исходник (из-за висячих строк с
,\ на конце).А не идёт запись потому, что "> 1.txt" - это не команда для powershell, это команда для cmd. Чем ShellExecute не устраивает?Если нужно получить содержимое вывода в StdOut, можно не создавать файл. Создаётся пайп через CreatePipe (<– ссылка), хэндлы StdIn и StdOut созданного пайпа указываются в структуре STARTUPINFO создаваемого процесса. Далее создаётся процесс (CreateProcess) и ожидается его завершение (WaitForSingleObject). И потом можно из пайпа прочитать данные через ReadFile. Ну и в финале нужно закрыть все хэндлы (пайпа и из структуры PROCESS_INFORMATION).В общем, вот исходник на Delphi из одной программки, разбирайся ![]()
1
|
||||||
|
0 / 0 / 1
Регистрация: 28.06.2016
Сообщений: 114
|
|||
| 05.04.2017, 12:24 [ТС] | |||
|
0
|
|||
|
Asm/C++/Delphi/Py/PHP/VBA
|
||||||
| 05.04.2017, 12:57 | ||||||
|
Victoros6666, вот этот код компилируется?
https://www.cyberforum.ru/fasm... st10295519 Вряд ли, потому что надо убрать ,\ в конце последних строк макросов.И зачем пихать данные в секцию импорта??? Говорил же уже об этом. Короче:
\ в конце строки означает, что следующая строка является продолжением текущей.
1
|
||||||
|
0 / 0 / 1
Регистрация: 28.06.2016
Сообщений: 114
|
||||||||||||
| 05.04.2017, 15:33 [ТС] | ||||||||||||
Запускаю этот скомпилированный код
0
|
||||||||||||
|
Asm/C++/Delphi/Py/PHP/VBA
|
|
| 06.04.2017, 10:01 | |
|
Ещё раз:
> 1.txt и | 1.txt обрабатывает cmd, а не PowerShell. Ты cmd запускаешь? Нет. А вот ShellExecute запускает (ну, если не его самого, то его движок, назовём это так). Я синтаксис powershell'а не знаю, наверняка как-то там можно в файл записать тоже, но явно не так.
0
|
|
|
0 / 0 / 1
Регистрация: 28.06.2016
Сообщений: 114
|
||
| 06.04.2017, 13:09 [ТС] | ||
|
0
|
||
|
Asm/C++/Delphi/Py/PHP/VBA
|
|||||||||||
| 06.04.2017, 16:45 | |||||||||||
Сообщение было отмечено ФедосеевПавел как решение
Решение
Victoros6666, да, ты прав...
В общем, вот так надо:
Это не параметры, а вся командная строка... Добавлено через 2 минуты В принципе, даже так будет работать (попробовал сейчас):
2
|
|||||||||||
|
0 / 0 / 1
Регистрация: 28.06.2016
Сообщений: 114
|
|
| 06.04.2017, 17:06 [ТС] | |
|
Jin X,
Ага спасибо, все заработало
0
|
|
| 06.04.2017, 17:06 | |
|
Помогаю со студенческими работами здесь
12
Как правильно на хостинше запустить файл PowerShell? Запустить внешнюю программу в другом сеансе средствами Powershell Как запустить консольное приложение с ключами в PowerShell ISE? Как запустить скрипт на удаленном сервере без winrm, rpc. Powershell Создать переменную с параметрами Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|
Фото: Daniel Greenwood
kumehtar 13.11.2025
|
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга,
Ты же видел моря и метели.
Как сменялись короны и стяги,
Как эпохи стрелою летели.
- Этот мир — это крылья и горы,
Снег и пламя, любовь и тревоги,
И бескрайние. . .
|