В Windows вы можете открыть проводник с помощью следующей команды:
C:\Users\Leniel>start %windir%\explorer.exe
Если вы хотите, чтобы он открывал определенную папку, сделайте это, например:
C:\Users\Leniel>start %windir%\explorer.exe "C:\Users\Leniel\Desktop"
Прямым эквивалентом open
в OS X является start
в cmd
.
start foo.txt
запустит Блокнот (или любой другой текстовый редактор, который вы используете),
start http://example.com
запустит ваш браузер,
start \someDirectory
запустит Explorer и т.д.
Следует быть осторожным с аргументами в кавычках, так как start
интерпретирует первый аргумент в кавычках как заголовок окна, который нужно использовать, поэтому что-то вроде
start "C:\Users\Me\Folder with spaces\somedocument.docx"
не будет работать так, как задумано. Вместо этого добавьте пустой аргумент в кавычках:
start "" "C:\Users\Me\Folder with spaces\somedocument.docx"
Обратите внимание, что start
- это не отдельная программа, а встроенная оболочка. Поэтому, чтобы вызвать его из внешней программы, нужно использовать что-то вроде
cmd /c start ...
Эквивалентом в PowerShell является Start-Process
или Invoke-Item
. Последний вариант, вероятно, лучше подходит для этой задачи.
Invoke-Item foo.txt # launches your text editor with foo.txt
Invoke-Item . # starts Explorer in the current directory
Что касается Windows API, вам нужен ShellExecute
с глаголом open
.