C#cmd - 无效的表达式术语,)预期的Exiftool

时间:2016-01-26 20:23:26

标签: c# cmd exif exiftool

我在Windows窗体中重新创建“命令提示符”。该应用程序无法正常工作;我找不到错误。

 exiftool photo_file.jpg |find "Shutter Count" 

该命令在命令提示符下正常工作。 知道我在这里缺少什么吗?

   private void btncheck_Click(object sender, EventArgs e)
    {
        String StrCmdText;
        var process = Process.Start("CMD.exe", "/c exiftool " + txtBrowse.Text + " |find "Shutter Count"");
        process.WaitForExit();
    }

2 个答案:

答案 0 :(得分:3)

只需使用字符串文字\"并将代码更改为

var process = Process.Start("CMD.exe", "/c exiftool " + txtBrowse.Text + " |find \"Shutter Count\"");

var process = Process.Start("CMD.exe", "/c exiftool " + txtBrowse.Text + " |find ""Shutter Count""");

答案 1 :(得分:1)

尝试使用像这样的参数启动进程......

var p = new System.Diagnostics.Process();
    p.StartInfo.FileName = "cmd.exe";
    p.StartInfo.Arguments = "/c arguments here";
    p.StartInfo.RedirectStandardOutput = true;
    p.StartInfo.UseShellExecute = false;
    p.StartInfo.CreateNoWindow = true;
    p.Start();