我写了一个c#
程序。现在,我想将.avi
个文件中的.mp3
文件转换为lame。我已经安装了命令行应用程序。手动它工作正常。现在我想自动化这个过程:
C#Application =>启动控制台并使用参数运行“lame.exe”。
我想转换多个文件。我怎么能这样做?
由于
答案 0 :(得分:2)
我不知道lame是如何工作的,但是你不能得到你想要转换的所有文件的列表,用foreach循环遍历列表并为每个文件运行“lame.exe”?
答案 1 :(得分:0)
如果你可以使用CMD手动调用Lame,你应该可以这样做:
public void ConvertFileWithLame(string pathToLame, string fileToConvert){
// Use ProcessStartInfo class.
ProcessStartInfo startInfo = new ProcessStartInfo(pathToLame, fileToConvert);
try{
// Start the process with the info we specified.
// Call WaitForExit and then the using-statement will close.
using (Process exeProcess = Process.Start(startInfo)){
exeProcess.WaitForExit();
}
}
catch{
// Log error.
}
}
P.D:请记住,您的命令必须在您的PATH中,或者指示" /path/commandName.exe"
上的路径答案 2 :(得分:-1)
你可以尝试做的是看看lame.exe是否接受多个文件名参数,所以不要迭代文件名,你可以像下面一样添加它们
Process.Start("lame.exe", "file1 file2 file3 etc");
答案 3 :(得分:-1)
你要做的就是为Directory.GetFiles实现一个foreach
循环,然后在foreach循环中使用Process.Start
来运行你的命令。请参阅下面的示例代码:
foreach(var t in Directory.GetFiles("path"))
{
System.Diagnostics.Process.Start("cmd.exe", $"lame command here with interpolated values (t will point to full path of file)");
}