C# 在目录(cmd?-C++-喜欢还是喜欢?
C# 在目录(cmd?-C++-喜欢还是喜欢?,c#,c++,windows,cmd,c++builder,C#,C++,Windows,Cmd,C++builder,我编写C++(.NET)程序和C++(记事本++)脚本。 我想写一个程序,在windows上使用cmd在运行它的目录中打开一个随机文件。e、 g: 将打开C:\test\song1.mp3或C:\test\song2.mp3 这可能吗? >强>如果,我应该使用哪种语言:C++还是C?(否则) (不是什么更好,以免我的问题被打动,而是什么更合适) < C++有文件系统支持吗?(找不到任何简单的库) 它能知道在哪个目录下运行吗? 可以从cmd运行C#吗?还是它依赖于IDE,因此不可能 如果没有,(
我编写C++(.NET)程序和C++(记事本++)脚本。 我想写一个程序,在windows上使用cmd在运行它的目录中打开一个随机文件。e、 g: 将打开C:\test\song1.mp3或C:\test\song2.mp3 这可能吗? <> >强>如果,我应该使用哪种语言:C++还是C?(否则)
(不是什么更好,以免我的问题被打动,而是什么更合适) < C++有文件系统支持吗?(找不到任何简单的库)
它能知道在哪个目录下运行吗?
可以从cmd运行C#吗?还是它依赖于IDE,因此不可能 如果没有,(不编译就无法从cmd运行)我更喜欢编写一个windows窗体项目 这里再说一遍,是C#.NET还是C++Builder?(否则)
(再说一遍,不是什么更好,而是什么更合适) 为我的无能感到抱歉。欢迎反馈
<强>(任何更好的想法都欢迎)
< P>。它既可以在C语言中也可以在C++中完成。在C++中,可以使用FiffFixStand和FiffnExtFieldAPI来查找文件。
这是可能的。以下是方案(C#实施):
从当前目录获取所有文件 var files = Directory
.EnumerateFiles(Directory.GetCurrentDirectory())
//.Where(file => ...) // <- to filter out some files
.ToList();
要打开文件
,请注意shell执行模式:让窗口了解文件将如何打开(即通过记事本打开txt
,通过媒体播放器打开mp3
)
ProcessStartInfo info=newprocessstartinfo(文件){
UseShellExecute=true
};
使用(var进程=进程启动(info)){
//process.WaitForExit();//谢谢,这太棒了!我对从独立的cmd.exe运行脚本感兴趣,而不是从控制台应用程序。如何从外部命令行运行此脚本?这样您就可以编写cmd程序(random.exe
)在C#上,在其main
方法中实现该方案,并作为ot.bat
文件、脚本等的一部分运行random.exe
。谢谢,我会检查它们。知道如何从外部命令行运行脚本,并将其作为命令行运行目录的输入吗?您可以使用ShellExecute API来执行script。
var files = Directory
.EnumerateFiles(Directory.GetCurrentDirectory())
//.Where(file => ...) // <- to filter out some files
.ToList();
private static Random s_Generator = new Random();
...
String file = files[s_Generator.Next(files.Count)];
ProcessStartInfo info = new ProcessStartInfo(file) {
UseShellExecute = true
};
using (var process = Process.Start(info)) {
//process.WaitForExit(); // <- to wait for
}