如何启动文件

How to launch file

我需要一种可靠的方式来通过 ruby 启动文件。如果文件是 mp3,它将播放,如果是 txt 记事本将打开等等。 基本上我试图在命令行上使用 "folder\folder\filename" 行为。文件名可能包含空格。 我已经尝试了几件事,例如:

´"folder\example.txt"´      //With backsticks instead

但是

Exec format error - "folder\example.txt" (Errno::ENOEXEC)

filename = "folder\example.txt"
proc = Process.spawn "\"#{filename}\""
Process.detach(proc)

system "\"folder\example.txt\""

什么都不做。

如何从 ruby 启动文件?

新信息 我尝试将音乐名称包装在 " 而不是所有名称中并且它起作用了。但是有些文件夹有空格,所以这不是解决方案。当启动失败时,由于某种原因会打开一个新的空 cmd。

windows 启动命令设计不当。如果用引号引起来,则第一个参数被视为新流程的标题。最佳实践:始终在引号中给它一个第一个参数(如果需要或不需要)。它可以是空的。示例:

start "" "c:\my directory\file.txt"

start "title" "c:\my directory\file.txt" 

当然您不会在任何地方看到该标题,因为这将启动不支持 "title".

的记事本

您可以使用 Windows 上的计算器作为示例:

puts ( "#{%x{calc}}")