Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在目录(cmd?-C++-喜欢还是喜欢?_C#_C++_Windows_Cmd_C++builder - Fatal编程技术网

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 
  }