如何在c#中使用gnu命令

时间:2014-07-11 18:51:07

标签: cmd dos gnu

使用Gnu移植时遇到问题"找到"在我的c#app中。让我解释一下:

在我的winform应用程序中,我有一个按钮。当我按下此按钮时,我需要启动此命令(在cmd.exe中这很有效):

gfind training_set\positives\*.jpg -exec identify -format "%i 1 0 0 %w %h \n" {} ; > training_set\positives.dat

我用过这个:

string find = "gfind.exe ";
string command = textBox4.Text + "\\positives\\*.jpg -exec identify -format \" %i 1 0 0 %w %h \n\" {} /; > " + textBox4.Text + "\\positives.dat";
System.Diagnostics.Process.Start("CMD.exe", "/C "+find + command);

但shell打开并告诉我,我还没有通过任何参数到-exec

有什么想法吗?

修改 这项工作:     string path = textBox4.Text + @" \ positives \&#34 ;;     System.Diagnostics.Process.Start(" CMD.exe"," / C cd" + textBox4.Text +"&& gfind positives \ * .png - exec identify -format;>" + textBox4.Text +" \ positives.dat");

BUT -format需要这个参数:'%i 1 0 0%w%h \ n' {} 以这种方式不工作......

EDIT2: 好的差不多完成..

System.Diagnostics.Process.Start("CMD.exe", "/C cd " + textBox4.Text + " && gfind positives\\*.png -exec identify -format \"%i 1 0 0 %w %h\" {} ; > " + textBox4.Text + "\\positives.dat");

确定这项工作,但打印同一行中的每个条目:

positives\3LiIIH8.png 1 0 0 28 20positives\5NoLpfy.png 1 0 0 28 20positives\7XNpLX0.png 1 0 0 28 20

我需要每行一个条目,如:

positives\3LiIIH8.png 1 0 0 28 20
positives\5NoLpfy.png 1 0 0 28 20
positives\7XNpLX0.png 1 0 0 28 20

\ n打破sintax

1 个答案:

答案 0 :(得分:0)

解决了...引用和逃脱角色让我发疯

System.Diagnostics.Process.Start("CMD.exe", "/C cd " + textBox4.Text + " && gfind positives\\*.png -exec identify -format \"%i 1 0 0 %w %h\\n\" {} ; > " + textBox4.Text + "\\positives.dat");