C# 在WinC窗体中调用cmd#
我正在尝试查找所有匹配C# 在WinC窗体中调用cmd#,c#,winforms,C#,Winforms,我正在尝试查找所有匹配*.XMODEL\u EXPORT的文件,并将它们自动转换为.BIN格式 这是我到目前为止的代码 public DevComponents.DotNetBar.Controls.RichTextBoxEx richTextBoxEx1; public static string path { get; set; } public static string mainpath { get; set; } public bo3_bincs(DevComponents.Do
*.XMODEL\u 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调试文件夹下的目录。StartInfo有一个属性,您可以将其设置为指定的路径。但是请记住,如果在没有/C或/K的情况下启动cmd.exe,它将立即退出,而不执行命令参数。在StartInfo.Arguments中添加/C或/K(最好使用/K查看您的工作结果)
非常感谢你的工作非常完美,现在我必须找出如何让它与转换过程一起工作,因为我cmd可以将一个文件转换为.bin。我只需要解决它,目前还不确定如何解决
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";