如何启动文件
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}}")
我需要一种可靠的方式来通过 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}}")