Как выполнить файл .cmd с помощью С#?

У меня есть файл команды (.cmd) с несколькими шагами. Я хочу выполнить этот файл, используя код С#

Это код, который я написал -

Process process = new Process();
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.WindowStyle = ProcessWindowStyle.Normal;
startInfo.WorkingDirectory = @"C:\Users\zrana\Desktop\"
startInfo.FileName = @"C:\Users\zrana\Desktop\test.cmd"
process.StartInfo = startInfo;
process.Start();

Когда я запускаю эту программу, я получаю исключение System.ComponentModel.Win32Exception: «Отказано в доступе». Это правильный способ сделать это?


person Zankhana Rana    schedule 17.04.2020    source источник
comment
comment
Я проверил папку и свойства cmd.exe. Разрешения выглядят нормально. Я также попытался запустить приведенный выше код в режиме администратора. Я все еще получаю ту же ошибку.   -  person Zankhana Rana    schedule 17.04.2020


Ответы (1)


Вы получаете сообщение об ошибке, потому что ваш исполняемый файл не запускается в режиме Администратора.
Попробуйте собрать свой проект, а затем в выходной папке сборки щелкните правой кнопкой мыши exe и выберите "Запуск от имени администратора", если это не помогает, дайте мне знать, пожалуйста.


Обновить

Попробуйте запустить файл cmd, вызвав его из Windows cmd.exe следующим образом:

var testCmd = @"/C C:\Users\zrana\Desktop\test.cmd";
System.Diagnostics.Process.Start("cmd.exe", testCmd);
person Arsen Khachaturyan    schedule 17.04.2020
comment
Я все еще получаю ту же ошибку. Именно в приложении winforms я пытаюсь запустить файл .cmd. - person Zankhana Rana; 22.04.2020
comment
@ZankhanaRana, не могли бы вы подтвердить, что путь к файлу cmd, который вы запускаете, правильный? - person Arsen Khachaturyan; 22.04.2020
comment
@ZankhanaRana также попробуйте добавить файл манифеста (например: codeproject.com/Questions/629067/) следующим образом: <requestedExecutionLevel level="requireAdministrator" uiAccess="false" /> или отредактируйте существующий манифест. - person Arsen Khachaturyan; 22.04.2020
comment
Я проверил и подтвердил, что путь правильный. И я добавил файл манифеста со строкой в ​​​​предыдущем комментарии. Я все еще получаю ту же ошибку. - person Zankhana Rana; 22.04.2020
comment
@ZankhanaRana Я обновил пост. Не могли бы вы попробовать обновленную версию? - person Arsen Khachaturyan; 22.04.2020
comment
Хорошо, решение выше сработало. не могли бы вы объяснить, что не так с тем, что я сделал, и это работает? - person Zankhana Rana; 22.04.2020
comment
Давайте продолжим это обсуждение в чате. - person Arsen Khachaturyan; 22.04.2020