【发布时间】:2020-10-17 01:12:49
【问题描述】:
当我尝试执行 cmd 时,cmd 中的代码没有被执行。我希望当我执行 cmd 时,它应该运行其中的代码并执行操作。当我双击 cmd 文件时,整个过程都很好地完成了。但是通过c#,cmd文件里面的代码并没有执行。
static void Main(string[] args)
{
var proc = new Process();
proc.StartInfo.FileName = @"D:\Dump\createAndDump.cmd";
proc.StartInfo.UseShellExecute = false;
proc.StartInfo.RedirectStandardOutput = true;
proc.Start();
字符串输出 = proc.StandardOutput.ReadToEnd();
proc.WaitForExit();
var exitCode = proc.ExitCode;
proc.Close();
}
cmd 有以下代码要执行: 这将连接到工具并完成设备的闪烁。 我正在执行上述代码,但它无法执行 cmd 文件中的行。
@echo connect> flash.mtb
@for %%i in (*.s11) do (
@echo open_file "%%~fi">> flash.mtb
@echo select_all_sections>> flash.mtb
@echo add_selected_sections>>flash.mtb
)
@echo program>> flash.mtb
@echo disconnect>> flash.mtb
@echo exit>> flash.mtb
for %%j in (flash.mtb) do "C:\Program Files (x86)\xyz\Memtool 4.7\IMTtool.exe" %%~dpj%%~nxj
【问题讨论】:
-
到底发生了什么,这与您的预期有何不同?您在调试代码时获得了哪些信息?
-
你应该在标题中写下你的具体问题。假装你在和一个忙碌的同事交谈,你应该用一句话总结你的问题,然后写下标题。
-
当我尝试执行 cmd 时,cmd 中的代码没有被执行。我希望当我执行 cmd 时,它应该运行其中的代码并执行操作。当我双击 cmd 文件时,整个过程都很好地完成了。但是通过c#,cmd文件里面的代码并没有执行。
-
请将您的评论添加到您的问题正文中,并将标题更改为特定问题
-
似乎您的
C#代码应该定义WorkingDirectory,或者您的.cmd代码应该从定义它开始,(%~dp0)。
标签: c# batch-file