繁体   English   中英

在目录中打开随机文件(在cmd中?)-类似于C ++还是类似于C#?

[英]Open random file in directory (in cmd?) - C++-like or C#-like?


我编写C#(.NET)程序和C ++(在Notepad ++中)脚本。

我想编写一个程序,使用Windows上的cmd在运行它的目录中打开一个随机文件。 例如:

C:\test > random

将打开C:\\ test \\ song1.mp3C:\\ 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM