2009-12-13 59 views

回答

0

我不知道任何图书馆,这将能够做到这一点。

在ruby中,您可以调用程序。例如要获得目录列表,你可以做

files= `ls "#{dir}"`.to_a 

反引号变体为您提供了calle程序的stdout。

要知道wheter文件存在

system("ls \"#{file}\"") 

system变种告诉你调用程序的返回值是否为0

使用这两种方法,您几乎可以使用非空间程序执行任何操作。在http://www.bunkus.org/dvdripping4linux/en/separate/subtitles.html中描述的程序适用于这种控制。

请谨慎对待您给外部程序的参数。如果一个argumend是"; rm -rf *; ls ".可能会发生不希望的事情。

+1

做'system(“ls”,file)''来避免注入攻击。 – 2011-02-15 22:02:30

1

你可以看看Handbrake,它可以让你提取视频,音频和字幕。

还有手刹手册here和字幕部分here,可以提供更多的信息。

这不是在Ruby中,但你应该可以从Ruby中调用Handbrake CLI而没有任何问题。

+0

请在链接资源时不要使用短链接。使用完整的网址。 – j0k 2012-09-12 07:37:41