[英]Open random file in directory (in cmd?) - C++-like or C#-like?
我编写C#(.NET)程序和C ++(在Notepad ++中)脚本。
我想编写一个程序,使用Windows上的cmd在运行它的目录中打开一个随机文件。 例如:
C:\test > random
将打开C:\\ test \\ song1.mp3或C:\\ test \\ song2.mp3
这可能吗?
如果是这样,我应该使用哪种语言:C ++或C#? (要不然)
(不是更好,以免我的问题被打动,但是更合适)
C ++是否支持文件系统? (找不到任何简单的库)
它可以知道在哪个目录下运行吗?
可以从cmd运行C#吗? 还是依赖于IDE,因此不可能?
如果没有, (不通过编译就无法从cmd运行)我更喜欢编写Windows窗体项目。
再说一次,C#.NET还是C ++ Builder? (要不然)
(再次,不是更好,而是更合适)
对不起,我的无能。 反馈表示赞赏。
(欢迎任何更好的主意)
这是可能的。 这里的方案( C#实现):
从当前目录获取所有文件
var files = Directory
.EnumerateFiles(Directory.GetCurrentDirectory())
//.Where(file => ...) // <- to filter out some files
.ToList();
要从文件中获取随机 files
:
private static Random s_Generator = new Random();
...
String file = files[s_Generator.Next(files.Count)];
要打开file
,请注意shell执行模式:让Window找出打开文件的方式(即通过NotePad的txt
,通过媒体播放器的mp3
等)。
ProcessStartInfo info = new ProcessStartInfo(file) {
UseShellExecute = true
};
using (var process = Process.Start(info)) {
//process.WaitForExit(); // <- to wait for
}
它也可以在c#和c ++中完成。
在c ++中,可以使用FindFirstFile和FindNextFile API查找文件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.