繁体   English   中英

如何使用 Ruby 打开 Windows 资源管理器到文件夹

[英]How to open Windows Explorer to a folder using Ruby

我正在尝试用 Ruby 编写一个简单的程序来打开 Windows 中的特定文件夹。 我正在做一个简单的系统调用来打开文件夹路径的资源管理器窗口。 我要打开的路径是\\AppData\\Roaming\\SketchUp\\SketchUp 2014

当我输入以下内容时:

explorer %userprofile%\AppData\Roaming\SketchUp\SketchUp 2014

我的cmd窗口文件夹打开没问题。 当我将此命令放入我的 ruby​​ 脚本并在草图中正确安装程序时,打开的文件夹是用户的 Documents 文件夹。 即使我指定C:\\Users\\UserName yada yada yada的路径,它仍然只打开 Documents 文件夹的文件夹。 我的 Mac 版本完美运行。 我在这里错过了什么?

您还应确保在Windows上使用反斜杠( \\ )作为路径分隔符,否则它将不起作用。 并且这些反斜杠应转义(即\\\\ )。 因此,例如,打开SketchUp\\SketchUp 2014文件夹:

appdata = ENV['appdata']
path = [appdata, 'SketchUp', 'SketchUp 2014']

pathstr = path.join(File::ALT_SEPARATOR) # File::SEPARATOR == '/', we need "\\"
# => "C:\\Users\\<username>\\AppData\\Roaming\\SketchUp\\SketchUp 2014"

# Pass as argument to explorer call:

`explorer #{pathstr}`
# or
system("explorer #{pathstr}")
# or
system('explorer %s' % pathstr)

Sketchup Api为此工作提供了代码。 对于Sketchup内部的作品,请编写以下代码:

myPlugin_folder = Sketchup.find_support_file("Plugins")
UI.openURL(myPlugin_folder)

我希望这可以帮助你。

我尝试了你的语法 André 但弹出一个窗口说没有应用程序可以打开这个 URL。 为了指示我想在 Finder(在 Mac 上)中打开路径而不是使用默认 Web 浏览器打开 URL 的系统,我不得不稍微修改您的代码:

UI.openURL("file:///#{path)}")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM