Windows-эквивалент команды Mac OS X «открыть» - PullRequest
17 голосов
/ 01 февраля 2009

Лю Чан задал очень похожий вопрос к этому здесь, Эквивалент Linux для команды "open" Mac OS X .

Есть ли Windows-эквивалент для команды «открыть» в Mac OS X? Я пытаюсь запустить профилировщик, который откроет его результаты, но он ищет команду «открыть». По сути, команда должна открыть файл из командной строки, как если бы он был дважды щелкнуть в проводнике.

Ответы [ 9 ]

29 голосов
/ 01 февраля 2009

Ближайшая доступная вещь - start.


Если его первый аргумент заключен в двойные кавычки, этот аргумент рассматривается как заголовок окна, а не как имя файла. Таким образом, чтобы использовать его надежно, добавьте пустую строку в качестве первого аргумента:

start "" "my filename.foo"

Спасибо @Holger за указание на это!

11 голосов
/ 01 февраля 2009

Просто введите имя файла в окне консоли, чтобы открыть файл в Windows. Я пробовал несколько форматов - .doc открывался с помощью OpenOffice, .mp3 открывался с помощью Windows Media Player и .txt открывался с помощью Wordpad. Такое же поведение я испытываю при двойном щелчке по файлам.

10 голосов
/ 01 февраля 2009

Я использую, чтобы написать

explorer.exe <file>
1 голос
/ 06 августа 2017

Попробуйте explorer <filename>. Например, я хотел запустить папку с именем abc, размещенную на рабочем столе, поэтому я использовал команду

explorer abc
0 голосов
/ 19 июля 2018

start - определенно самая близкая вещь для Windows, как сказал @ charles-duffy. В зависимости от вашего проекта, есть также несколько инструментов, которые решают эту проблему.

Node (opn) [https://github.com/sindresorhus/opn] - отличное решение для кроссплатформенности

0 голосов
/ 19 июня 2018

Если вы используете Cygwin (или Git Bash), вот быстрый взлом сценария. Измените РЕДАКТОР на то, что вы хотите:

#!/bin/sh
# open

EDITOR="exec subl.exe"
BROWSER="/c/Program Files (x86)/Google/Chrome/Application/chrome.exe"

if [ -d "$1" ]; then
    exec explorer.exe $(cygpath -w "$1")
elif [ -f "$1" ]; then
    path=$(cygpath --windows "$1")
    case "$1" in
    *.xml) $EDITOR "$1";;
    *.txt) $EDITOR "$1";;
    *.html) "$BROWSER" "$path";;
    file://*) "$BROWSER" "$path";;
    http://*) "$BROWSER" "$path";;
    https://*) "$BROWSER" "$path";;
    esac
else
    # TODO non-existent file/dir
    echo "non existent file: $1"
    exit 1
fi

exit 0
0 голосов
/ 03 декабря 2017

Я отвечаю на это снова, поскольку принятый ответ не является правильным, который использует команду start (которая открывает CMD как новый экземпляр), а также потому, что эквивалент для меня это explorer.exe, что также упоминается другими, но не разъяснено как и должно было быть!

Итак, если вы хотите открыть текущую папку, как эта, с помощью команды «открыть». вы должны использовать

explorer.exe .

, который откроет текущую папку в проводнике или, если вы просто сделаете

explorer.exe 

тогда вы откроете стандартное местоположение этого ПК (будь то последние или мой компьютер или что-то еще)

Это просто работает как в случае, когда вы просто набираете имя файла, оно просто открывается в программе по умолчанию, как и

somevideo.mp4

и если вы хотите, чтобы этот файл / видео открывался / воспроизводился какой-либо другой программой, просто запишите имя программы с полным путем (если он не находится в системной переменной PATH), за которым следует имя файла, например

"C:\program files\greentree applications\vlc.exe" somevideo.mp4
0 голосов
/ 09 октября 2017

если вы используете xfce и у вас есть Thunar, вы можете запустить команду "Thunar.", Чтобы открыть графически текущую папку

0 голосов
/ 15 февраля 2011

Похоже, что только explorer.exe работает под Cygwin.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...