Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Как открыть окно проводника в заданном каталоге из cmd.exe?

Автор вопроса: Robert KarlОтветов: 5

Я вижу, как запускать многие другие программы из командного файла, но я не могу t найти команду типа open в Mac OS X. Существует ли такой инструмент в Windows? Также подойдет Powershell или вызов Windows API из исполняемого файла.

Или, другими словами, как я могу вызвать обработчик Windows по умолчанию "Открыть" для файла из пакетного файла или сценария powershell?

  • start .. В Linux эквивалент xdg-open . phuclv 11.11.2016
  • Это ответ, который вы ищете › use start . Prometheus 14.04.2020
  • Почему это было помечено как не по теме? Я думаю, что это правильный вопрос программирования. Может быть, перефразируя, как я могу вызвать обработчик "открытия" операционной системы по умолчанию для файла из сценария оболочки в Windows, может сделать это более понятным? Daniel C. Sobral 10.06.2020

cmdwindowsscripting

Ответы

Ответ 1 · рейтинг 38 · Leniel Maccaferri

В Windows вы можете открыть проводник с помощью следующей команды:

C:\Users\Leniel>start %windir%\explorer.exe

Если вы хотите, чтобы он открывал определенную папку, сделайте это, например:

C:\Users\Leniel>start %windir%\explorer.exe "C:\Users\Leniel\Desktop"

Ответ 2 · рейтинг 24 · Joey

Прямой эквивалент 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.

Ответ 3 · рейтинг 5 · ANUP SAJJAN

Вы можете просто попробовать

start .

Это откроет проводник непосредственно с текущим путем к каталогу.

Ответ 4 · рейтинг 1 · Ahmed Osman

Вы можете попробовать этот синтаксис:

explorer.exe folder_path

пример:

explorer.exe D:\Movies

Ответ 5 · рейтинг 1 · asg

проводник.exe. работал на меня.

explorer.exe .

IMO. Поскольку нам нужно открыть проводник Windows из командной строки, explorer.exe . легко запомнить.

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы