The direct equivalent of OS X's open
is start
in cmd
.
start foo.txt
would launch Notepad (or whatever text editor you're using),
start http://example.com
would launch your browser,
start \someDirectory
will launch Explorer, etc.
Care has to be taken with arguments in quotes, as start
will interpret the first quoted argument as the window title to use, so something like
start "C:\Users\Me\Folder with spaces\somedocument.docx"
will not work as intended. Instead prepend an empty quoted argument in that case:
start "" "C:\Users\Me\Folder with spaces\somedocument.docx"
Note that start
isn't a separate program but a shell-builtin. So to invoke this from an external program you have to use something like
cmd /c start ...
The equivalent in PowerShell is either Start-Process
or Invoke-Item
. The latter is probably better suited for this task.
Invoke-Item foo.txt # launches your text editor with foo.txt
Invoke-Item . # starts Explorer in the current directory
As for the Windows API, you're looking for ShellExecute
with the open
verb.
start .
. In Linux the equivalent isxdg-open .
– Caciliause start .
– Worse