我需要一种可靠的方法来通过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。
答案 0 :(得分:2)
windows start命令设计不好。第一个参数作为新进程的标题,如果用引号括起来的话。最佳实践:始终在引号中给出第一个参数(如果需要或不需要)。它可以是空的。示例:
start "" "c:\my directory\file.txt"
或
start "title" "c:\my directory\file.txt"
当然你不会在任何地方看到这个标题,因为这将启动不支持“标题”的记事本。
答案 1 :(得分:0)
您可以使用Windows上的计算器作为示例:
puts(“#{%x {calc}}”)