從我以前的問題在這裏,我正在寫一個程序,通過CMD執行一些文件。參數Cmd不工作
這裏是我的代碼
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Windows.Forms;
using System.Diagnostics;
namespace Convert
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
}
private void BtnSelect_Click(object sender, RoutedEventArgs e)
{
OpenFileDialog Open = new OpenFileDialog();
Open.Filter = "RIFF/RIFX (*.Wav)|*.wav";
Open.CheckFileExists = true;
Open.Multiselect = true;
Open.ShowDialog();
LstFile.Items.Clear();
foreach (string file in Open.FileNames)
{
LstFile.Items.Add(file);
}
}
private void button1_Click(object sender, RoutedEventArgs e)
{
LstFile.Items.Clear();
}
private void BtnConvert_Click(object sender, RoutedEventArgs e)
{ Process p = new Process();
p.StartInfo.FileName = "cmd";
p.StartInfo.UseShellExecute = false;
foreach (string fn in LstFile.Items)
{
string fil = "\"";
string gn = fil + fn + fil;
p.Start();
p.StartInfo.Arguments = gn;
}
}
}
}
我用
string fil = "\"";
string gn = fil + fn + fil;
提供周圍的情況下,完整的文件名的文件名中有空格引號。
我的問題是,我的程序打開CMD Put沒有傳遞任何參數。我檢查瞭如果filnames(list)工作正常,他們很好。看看這些例子,這是做到這一點的方式,但很明顯什麼是錯的
一個文本文件中設置'StartInfo.Arguments'之後您調用'開始()'看起來錯 – 2012-07-17 14:46:57
AFAIK那些在那裏通過default.I剛添加System.Diagnostics程序 – Cesar 2012-07-17 14:48:31
@ default.kramer更改位置沒有改變什麼 – Cesar 2012-07-17 14:50:32