如何启动文件

时间:2015-01-05 19:22:04

标签: ruby windows cmd

我需要一种可靠的方法来通过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。

2 个答案:

答案 0 :(得分:2)

windows start命令设计不好。第一个参数作为新进程的标题,如果用引号括起来的话。最佳实践:始终在引号中给出第一个参数(如果需要或不需要)。它可以是空的。示例:

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

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

当然你不会在任何地方看到这个标题,因为这将启动不支持“标题”的记事本。

答案 1 :(得分:0)

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

puts(“#{%x {calc}}”)