Прямой эквивалент OS X open
— start
в cmd
.
start foo.txt
запустит Блокнот (или любой другой текстовый редактор, который вы используете),
start http://example.com
запустит ваш браузер,
start \someDirectory
запустит проводник и т.д.
Следует соблюдать осторожность с аргументами в кавычках, так как 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
a> с глаголом open
.
person
Joey
schedule
09.08.2010
start .
. В Linux эквивалентxdg-open .
- person phuclv   schedule 11.11.2016use start .
- person Prometheus   schedule 14.04.2020