Как открыть окно проводника в заданном каталоге из cmd.exe?
Я вижу, как запускать многие другие программы из командного файла, но я не могу найти команду типа open
в Mac OS X. Имеется ли такой инструмент в Windows? Powershell или вызовы API Windows из исполняемого файла также будут работать.
Ответы
Ответ 1
В Windows вы можете открыть Explorer с помощью следующей команды:
C:\Users\Leniel>start %windir%\explorer.exe
Если вы хотите открыть определенную папку, сделайте это, например:
C:\Users\Leniel>start %windir%\explorer.exe "C:\Users\Leniel\Desktop"
Ответ 2
Прямой эквивалент OS X open
равен start
в cmd
.
start foo.txt
запускает Notepad (или любой текстовый редактор, который вы используете),
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
.