打开文件,其名称中包含空格(或&),默认应用程序

时间:2018-05-31 14:50:28

标签: java ruby jruby

我正在尝试打开一个文件,该路径为C:\ Users \ kevin \ Documents \ LIN KED.png(或C:\ Users \ kevin \ Documents \ LIN& KED.png)。文件路径位于linked_file_command。

我想在Windows上的默认应用程序中打开该文件。我想继续使用linked_file_command字符串,只是为了拥有变量而不是硬编码路径。

我尝试了以下内容:

1) system %{cmd /c "start #{linked_file_command}"}
(from https://stackoverflow.com/questions/9476291/how-to-open-file-in-default-application-ruby )

2) system('cmd /c start "" C:\Users\kevin\Documents\LIN KED.png')
(from https://www.ruby-forum.com/topic/209961 )

两者的结果:

Lesystèmenepeut trouver le fichier C:\ Users \ kevin \ Documents \ LIN。 (系统找不到文件C:\ Users \ kevin \ Documents \ LIN)

提前致谢^。^

2 个答案:

答案 0 :(得分:0)

这应该有效

filePath = "c:\path\to\file name.jpg"
system %{cmd /c "start #{filePath}"}

答案 1 :(得分:0)

管理空间

system('cmd /c start "" "C:\Users\kevin\Documents\LIN KED.png"')

我在这里阅读superuser.com/questions/511486/...

第一个""用于shell窗口名称和第二个""用于命令(参数)

管理&

当我使用上面这一行时,没有必要。

在其他情况下,请尝试添加' ^'之前&符号

system('cmd /c start "" "C:\Users\kevin\Documents\LIN^&KED.png"')

来自:How do I escape ampersands in batch files?