在winforms c#中调用CMD
本文关键字:调用 CMD winforms | 更新日期: 2023-09-27 18:05:07
我试图找到所有与*.XMODEL_EXPORT
匹配的文件,并自动将它们转换为。bin格式。
这是我到目前为止的代码。
public DevComponents.DotNetBar.Controls.RichTextBoxEx richTextBoxEx1;
public static string path { get; set; }
public static string mainpath { get; set; }
public bo3_bincs(DevComponents.DotNetBar.Controls.RichTextBoxEx elfenliedtofan5txt)
{
richTextBoxEx1 = elfenliedtofan5txt;
}
public void check64()
{
if(mainpath == null)
{
string programFilesX86 = Environment.ExpandEnvironmentVariables("%ProgramFiles(x86)%");
mainpath = programFilesX86;
}
else
{
string programFiles = Environment.ExpandEnvironmentVariables("%ProgramW6432%");
mainpath = programFiles;
}
}
public void findpath()
{
if (path == null)
{
MessageBox.Show(mainpath);
string elfenlied = mainpath + @"/aaa/";
string[] oDirectories = Directory.GetFiles(elfenlied, "*.XMODEL_EXPORT", SearchOption.AllDirectories);
foreach (string oCurrent in oDirectories)
richTextBoxEx1.Text = oCurrent;
}
else
{
}
}
public void convertbin()
{
path = mainpath + "//aaa//";
MessageBox.Show(path);
Process bin = new Process();
bin.StartInfo.FileName = "cmd.exe";
bin.StartInfo.Arguments = "cd " + path;
bin.StartInfo.RedirectStandardOutput = true;
bin.StartInfo.UseShellExecute = false;
//bin.StartInfo.Arguments = path;
//bin.StartInfo.RedirectStandardInput = true;
//bin.StartInfo.Arguments = "rename *.**.bin";
bin.Start();
richTextBoxEx1.Text = bin.StandardOutput.ReadToEnd();
}
我想让它转换指定文件夹中的所有文件,但它只是默认为Visual Studio Debug文件夹下的目录。
StartInfo有一个WorkingDirectory属性,你可以将它设置为你想要的路径。但是请记住,如果启动cmd.exe时没有使用/C或/K,它会立即退出,而不执行命令参数。添加/C或/K到你的StartInfo。争论(更好/K看到你努力的结果)
path = mainpath + "//aaa//";
MessageBox.Show(path);
Process bin = new Process();
bin.StartInfo.FileName = "cmd.exe";
bin.StartInfo.WorkingDirectory = path;
//bin.StartInfo.Arguments = "cd " + path;
bin.StartInfo.Arguments = "/K dir";