2014-03-25 67 views
0

我想在Ruby中編寫一個簡單的程序來打開Windows中的特定文件夾。 我正在做一個簡單的系統調用來打開資源管理器窗口的文件夾的路徑。我想要打開的路徑是\AppData\Roaming\SketchUp\SketchUp 2014如何使用Ruby打開Windows資源管理器到一個文件夾

當我輸入以下內容:

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

cmd窗口中的文件夾打開沒有問題。當我把這個命令放到我的ruby腳本中並正確安裝程序內部草圖時,打開的文件夾就是用戶的Documents文件夾。即使我指定C:\Users\UserName yada yada yada的路徑,它仍然只打開一個文件夾到Documents文件夾。我的Mac版本完美地工作。我在這裏錯過了什麼?

回答

0

您還應該確保在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) 
+0

謝謝Daniel – Loonbox

0

Sketchup Api有這個工作的代碼。對於sketchup內的作品,請寫下以下代碼:

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

我希望這可以幫助你。

相關問題