'atprogram' 的命令行在 WPF 中无法正常工作
The command line for 'atprogram' does not work properly in WPF
我正在构建一个可以闪存 Atmel MCU 的 WPF 应用程序。我正在使用 'atprogram' 命令行来刷新 MCU。以下是代码片段。
using (Process sortProcess = new Process())
{
sortProcess.StartInfo.FileName = "cmd.exe";
string path = Environment.GetFolderPath(Environment.SpecialFolder.ProgramFilesX86) + @"\Atmel\Studio.0\atbackend\atprogram";
string hexFileName = "PROGRAM.hex";
string arguments = FormattableString.Invariant($"/K \"{path}\" -t atmelice -i ISP -d atmega328pb program -f \"{hexFileName}\" --verify");
sortProcess.StartInfo.Arguments = arguments;
sortProcess.Start();
}
当我运行应用程序时,命令行显示:
'C:\Program' is not recognized as an internal or external command,
operable program or batch files.
当我从程序中删除 '\"{hexFileName}\"' 时 AND 还尝试复制并粘贴参数(用双引号)在命令提示符下,程序工作正常(即使它给出错误)。我可以知道是什么问题吗?
正在尝试执行此代码
using (Process sortProcess = new Process())
{
sortProcess.StartInfo.FileName = Environment.GetFolderPath(Environment.SpecialFolder.ProgramFilesX86) + @"\Atmel\Studio.0\atbackend\atprogram.exe";
string hexFileName = "PROGRAM.hex";
string arguments = FormattableString.Invariant($" -t atmelice -i ISP -d atmega328pb program -f \"{hexFileName}\" --verify");
sortProcess.StartInfo.Arguments = arguments;
sortProcess.Start();
}
我正在构建一个可以闪存 Atmel MCU 的 WPF 应用程序。我正在使用 'atprogram' 命令行来刷新 MCU。以下是代码片段。
using (Process sortProcess = new Process())
{
sortProcess.StartInfo.FileName = "cmd.exe";
string path = Environment.GetFolderPath(Environment.SpecialFolder.ProgramFilesX86) + @"\Atmel\Studio.0\atbackend\atprogram";
string hexFileName = "PROGRAM.hex";
string arguments = FormattableString.Invariant($"/K \"{path}\" -t atmelice -i ISP -d atmega328pb program -f \"{hexFileName}\" --verify");
sortProcess.StartInfo.Arguments = arguments;
sortProcess.Start();
}
当我运行应用程序时,命令行显示:
'C:\Program' is not recognized as an internal or external command,
operable program or batch files.
当我从程序中删除 '\"{hexFileName}\"' 时 AND 还尝试复制并粘贴参数(用双引号)在命令提示符下,程序工作正常(即使它给出错误)。我可以知道是什么问题吗?
正在尝试执行此代码
using (Process sortProcess = new Process())
{
sortProcess.StartInfo.FileName = Environment.GetFolderPath(Environment.SpecialFolder.ProgramFilesX86) + @"\Atmel\Studio.0\atbackend\atprogram.exe";
string hexFileName = "PROGRAM.hex";
string arguments = FormattableString.Invariant($" -t atmelice -i ISP -d atmega328pb program -f \"{hexFileName}\" --verify");
sortProcess.StartInfo.Arguments = arguments;
sortProcess.Start();
}