gpt4 book ai didi

c# - 无法将文件路径作为命令行参数传递,其中路径包含空格?

转载 作者:可可西里 更新时间:2023-11-01 11:48:47 25 4
gpt4 key购买 nike

我有一个 C# GUI,允许用户选择一个文件,然后针对 objdump 运行它,将内容输出到 GUI。

但是,当用户选择路径包含空格的文件时,我遇到了问题,它会导致命令行执行中断。

我查看了 Stackoverflow,似乎有所有这些针对 Windows 脚本的 hack,因为带空格的路径不容易解决。但是,当我以编程方式传递文件名时,我不能这样做/有没有更简单的方法?

这是我的代码:

private void button1_Click(object sender, EventArgs e)
{

DialogResult result = openFileDialog1.ShowDialog();
if (result == DialogResult.OK){
dataGridView1.Rows.Clear();
dataGridView1.Refresh();

string filename = openFileDialog1.FileName; //May contain spaces
try
{
var proc = new Process
{
StartInfo = new ProcessStartInfo
{
FileName = "dumpbin.exe",
Arguments = "/DISASM " + filename, // Causing this to fail
UseShellExecute = false,
RedirectStandardOutput = true,
CreateNoWindow = true
}
};

proc.Start();

最佳答案

您需要用双引号将文件名括起来,就像通常在命令行中一样。

试试这个:

Arguments = "/DISASM \"" + filename + "\"",

关于c# - 无法将文件路径作为命令行参数传递,其中路径包含空格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36250070/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com