Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
0 / 0 / 0
Регистрация: 26.12.2013
Сообщений: 95

Интерполяция строк в выполнение команды cmd

20.06.2019, 01:07. Показов 2419. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый вечер! Для скрытого запуска cmd использую следующий код:
C#
1
2
3
4
5
6
7
8
9
var proc = new ProcessStartInfo()
            {
                UseShellExecute = true,
                WorkingDirectory = @"C:\Windows\System32",
                FileName = @"C:\Windows\System32\cmd.exe",
                Arguments = "/c " + cmd,
                WindowStyle = ProcessWindowStyle.Hidden
            };
            Process.Start(proc);
В объявлении строки cmd строчкой до вышеупомянутого кода сталкиваюсь с проблемой. Необходима команда:
"powershell.exe -executionpolicy RemoteSigned -file *путь к файлу*".
Проблема в том, что никак не получается с двойными кавычками правильно поступить. Необходимый скрипт powerShell, который должна исполнить программа лежит в папке Temp. Соответственно, путь к файлу выглядит примерно Path.GetTempPath() + "/filename.ps1".
Пробовал через интерполяцию строк впихнуть путь, не выходит. Может знает кто, как бороться с этим?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
20.06.2019, 01:07
Ответы с готовыми решениями:

Как выполнять команды cmd в программе?
Visual Studio, C#, Windows Forms Всем привет, не буду много писать В общем, я только начал программировать и сейчас стоит задача, чтобы...

Выполнение команд в cmd
Здравствуйте форумчане! Пробую написать программу для смены ip путем ввода 2х команд в cmd,нашел несколько кусочков кода и составил. ...

Как привязать команды через cmd к приложению?
Подскажите как например включить checkBox1 в Windows Forms не запуская (визуально) приложение, а именно через командную строку cmd. К...

5
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18298 / 14222 / 5368
Регистрация: 17.03.2014
Сообщений: 28,900
Записей в блоге: 1
21.06.2019, 23:09
Лучший ответ Сообщение было отмечено YProgramm как решение

Решение

YProgramm,
C#
1
2
string path = Path.GetTempPath() + "/filename.ps1";
string cmd = $"powershell.exe -executionpolicy RemoteSigned -file \"{path}\"";
1
0 / 0 / 0
Регистрация: 26.12.2013
Сообщений: 95
22.06.2019, 16:34  [ТС]
спасибо, попробую
0
0 / 0 / 0
Регистрация: 26.12.2013
Сообщений: 95
24.06.2019, 12:42  [ТС]
Цитата Сообщение от OwenGlendower Посмотреть сообщение
C#
1
2
string path = Path.GetTempPath() + "/filename.ps1";
string cmd = $"powershell.exe -executionpolicy RemoteSigned -file \"{path}\"";
Всё запускается, система пытается запустить powershell скрипт, но в консоли лютый ужас происходит. Ругается на использование амперсандов. В скрипте ни одного не используется.
Миниатюры
Интерполяция строк в выполнение команды cmd   Интерполяция строк в выполнение команды cmd  
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18298 / 14222 / 5368
Регистрация: 17.03.2014
Сообщений: 28,900
Записей в блоге: 1
24.06.2019, 23:00
YProgramm, попробуй запустить powershell без участия cmd
C#
1
2
string path = Path.GetTempPath() + "/filename.ps1";
Process.Start("powershell.exe", $"-executionpolicy RemoteSigned -file \"{path}\"");
Если не поможет, то нужно смотреть что происходит в строках в которых выдается ошибка.
0
0 / 0 / 0
Регистрация: 26.12.2013
Сообщений: 95
01.07.2019, 12:19  [ТС]
Цитата Сообщение от OwenGlendower Посмотреть сообщение
Если не поможет, то нужно смотреть что происходит в строках в которых выдается ошибка.
В общем ситуация следующая. Я нашел проблему. Изначально ошибки были из-за того, что запускался, если можно так сказать, не тот файл. Этот скрипт powershell, который необходимо было запустить , загружался с моего google drive. Каково было моё удивление, когда вместо текста скрипта я увидел там код веб страницы. Понятия не имею, как так получилось, ну да ладно.
Суть в том, что я хотел использовать запуск через командную строку только исходя из цели сделать всё это без запуска визуального интерфейса. т.е. скрытно. Если использовать ваш код для запуска powershell, то выскакивает консольное-powershell окошко "вы точно хотите запустить скрипт блабалабла". При этом даже если я ставлю параметру -executionpolicy значение unrestricted, сообщение всё равно всплывает, а при попытке запустить всё это скрытно через командную строку, ничего не происходит. Просто появляется окно консоли и исчезает без какой-либо ошибки, а скрипт, соответственно, свою работу не выполняет.
Как быть?))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
01.07.2019, 12:19
Помогаю со студенческими работами здесь

Как скрывать приложение при выполнение команд в cmd?
Проект - Windows Forms (приложение) Подскажите как правильно скрыть приложение если в командной строке cmd написать команду: ...

Выполнение команды ping в отдельном потоке
После ввода ip-адреса и нажатия кнопки, поверх этих двух элементов должна появляться panel, на которой крутиться анимация загрузки, которая...

Выполнение команды после определения цвета
Здравствуйте, форумчане, обращаюсь к вам за помощью. В общем я делаю курсовую и передо мной стоит задача сделать управление роботом на...

$ — интерполяция строк
Как мне добавить во второй вариант записи информацию NumberFormatInfo? Или как сделать, чтоб всегда запись была как в первом варианте без...

Выполнение определенной команды отдельным процессом и потоком
Подскажите пожалуйста как задать выполнение определенной команды отдельным процессом и потоком????? СПАСИБО!!!!


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru