我必须从C#运行.bat文件... 我使用这种方法。
file = "C:\\Diego\\PublishCore\\Startup_service.bat";
ProcessStartInfo psi = new ProcessStartInfo();
psi.CreateNoWindow = true;
psi.FileName = file;
psi.UseShellExecute = true;
psi.Verb = "runas";
Process.Start(psi);
.BAT已执行...但是我要求执行的操作未执行...
如果我的.bat说MKDir MyDir
...,它会毫无问题地创建一个名为MyDIr
的目录。
但是当我的蝙蝠说dotnet myApp.dll
时,会打开和关闭一个cmd Windows,但不会启动myApp应用程序。...
如果双击我的.bat,就可以正常运行。
我缺少什么?为什么应用无法开始。
谢谢。
答案 0 :(得分:0)
我解决了...
问题在于,当我的蝙蝠运行指令dotnet myApp.dll
时。
我将路径文件设置在文件所在的位置,但是它是在我的解决方案所在的位置执行的,而不是在我拥有.bat文件的目录中运行。
我必须设置WorkingDirectory
和Arguments
C:\\Diego\\PublishCore\\Startup_InomCore.bat
ProcessStartInfo psi = new ProcessStartInfo();
psi.WorkingDirectory = "C:\\Diego\\PublishCore";
// psi.CreateNoWindow = true;
psi.FileName = @"cmd.exe";
psi.Arguments = "/c start /wait " + "C:\\Diego\\PublishCore\\Startup_InomCore.bat";
// psi.UseShellExecute = true;
psi.Verb = "runas";
var process = Process.Start(psi);