参数不起作用的C#过程

参数不起作用的C#过程,c#,C#,如果我尝试运行此操作,则不会发生任何情况,但如果转到该路径并键入convert.exe icone.gif-fuzz10%-transparent10%white icone.ico,则会正常工作。我做错了什么?所以,在我的LINQPad机器上尝试这个,我认为这可能是对工作目录的误解。工作目录不是文件的位置,它是文件运行的起点。尝试删除该行并在文件名中指定完整路径。这对我来说很有效。因此,在我位于LINQPad的机器上尝试这一点,我认为这可能是对工作目录的误解。工作目录不是文件的位置,它是文件运

如果我尝试运行此操作,则不会发生任何情况,但如果转到该路径并键入
convert.exe icone.gif-fuzz10%-transparent10%white icone.ico
,则会正常工作。我做错了什么?

所以,在我的LINQPad机器上尝试这个,我认为这可能是对工作目录的误解。工作目录不是文件的位置,它是文件运行的起点。尝试删除该行并在文件名中指定完整路径。这对我来说很有效。

因此,在我位于LINQPad的机器上尝试这一点,我认为这可能是对工作目录的误解。工作目录不是文件的位置,它是文件运行的起点。尝试删除该行并在文件名中指定完整路径。这对我来说很有效。

我放弃了,做了一个bat文件,效果很好

ProcessStartInfo psi = new ProcessStartInfo();
psi.CreateNoWindow = false;
psi.UseShellExecute = false;
psi.FileName = "convert.exe";
psi.WorkingDirectory = @"C:\Users\Der\Downloads\Wunderground_API_Test\Wunderground_API_Test\Wunderground_API_Test\";
psi.Arguments = " icone.gif -fuzz 10% -transparent white icone.ico";
Process.Start(psi);

我放弃了,做了一个bat文件,它成功了

ProcessStartInfo psi = new ProcessStartInfo();
psi.CreateNoWindow = false;
psi.UseShellExecute = false;
psi.FileName = "convert.exe";
psi.WorkingDirectory = @"C:\Users\Der\Downloads\Wunderground_API_Test\Wunderground_API_Test\Wunderground_API_Test\";
psi.Arguments = " icone.gif -fuzz 10% -transparent white icone.ico";
Process.Start(psi);
这是因为C#将StartInfo参数作为Unicode传递,而您的程序“convert.exe”不处理Unicode参数的解释。在通过批处理文件调用它时,您所使用的方法不会将参数作为Unicode传递

下面的链接似乎解决了您的问题。使用代码示例

这是因为C#将StartInfo参数作为Unicode传递,而您的程序“convert.exe”不处理Unicode参数的解释。在通过批处理文件调用它时,您所使用的方法不会将参数作为Unicode传递

下面的链接似乎解决了您的问题。使用代码示例


相对于可执行文件,“convert.exe”在哪里?很可能就是找不到文件。您是否有任何异常?convert.exe位于系统路径中您是否可以捕获输出,并告知是否显示任何内容?它显示无效参数?嗯,这是您的问题…相对于您的可执行文件,“convert.exe”在哪里?很可能就是找不到文件。您是否有任何异常?convert.exe在系统路径中。您是否可以捕获输出,并告诉我们是否显示了任何异常?它显示了无效参数,这就是您的问题…OP得到的错误来自于将FAT卷转换为NTFS的windows convert.exe工具。…OP得到的错误来自于将FAT卷转换为NTFS的windows convert.exe工具。。。。。