Вопрос:
Я уверен, что это должно быть возможно, но я не могу понять, как это сделать.
Любые подсказки?
Лучший ответ:
Использование:
ii .
Это одна из самых распространенных вещей, которые я набираю в командной строке PowerShell.
Ответ №1
У вас есть несколько вариантов:
- Powershell ищет исполняемые файлы на вашем пути, как и cmd.exe. Таким образом, вы можете просто ввести explorer в командной строке powershell. Используя этот метод, вы также можете передавать аргументы строки cmd (см.
- Командлет Invoke-Item позволяет запускать исполняемый файл или открывать файл (или набор файлов) из Windows PowerShell. Псевдоним: II
- использовать system.diagnostics.process
Примеры:
PS C:> explorer PS C:> explorer . PS C:> explorer /n PS C:> Invoke-Item c:path PS C:> ii c:path PS C:> Invoke-Item c:windowsexplorer.exe PS C:> ii c:windowsexplorer.exe PS C:> [diagnostics.process]::start(«explorer.exe») Ответ №2
Просто используйте командлет invoke-item. Например, если вы хотите открыть окно проводника в текущем каталоге, которое вы можете сделать:
invoke-item . Ответ №3
Используйте любой из них:
- start.
- explorer.
- start explorer.
- ii.
- invoke-item.
Вы можете применить любую из этих команд в PowerShell.
На всякий случай, если вы хотите открыть проводник из командной строки, последние две команды не работают, а первые три работают нормально.
Ответ №4explorer . Ответ №5
Я столкнулся с этим вопросом, ища способ открыть окно проводника из PowerShell, а также выбрать файл. Я добавляю этот ответ в случае, если другие сталкиваются с ним по той же причине.
Чтобы запустить проводник и выбрать файл, используйте Invoke-Expression:
Invoke-Expression «explorer ‘/select,$filePath'»
Возможно, есть другие способы сделать это, но это сработало для меня.
Ответ №6$startinfo = new-object System.Diagnostics.ProcessStartInfo $startinfo.FileName = «explorer.exe» $startinfo.WorkingDirectory = ‘D:foldername’ [System.Diagnostics.Process]::Start($startinfo)
Надеюсь, что это поможет
Ответ №7
Запустите explorer.exe
Простая команда с одной строкой
Ответ №8
Используйте эту строку:
invoke-item c:path Ответ №9
Я хотел написать это как комментарий, но у меня нет 50 репутации.
Все ответы в этом потоке – это, по сути, использование Invoke-Item или для непосредственного использования explorer.exe; однако это не является полностью синонимом “открытой папки”, поэтому с точки зрения открытия окна “Проводник” по мере постановки вопроса, если мы хотим применить ответ к конкретному файлу, на этот вопрос все еще не ответил.
например,
Invoke-Item C:UsersFoobar.txt explorer.exe C:UsersFoobar.html
^ эти две команды приведут к вызову Notepad.exe или Firefox.exe для обоих файлов соответственно, а не к окну explorer.exe в C:UsersFoo(содержащая директория).
В то время как если вы выдавали эту команду из powershell, это было бы неважно (без ввода текста), если вы работаете с сценарием и нужно “открыть содержащую папку” для переменной, это становится вопросом соответствия строк, чтобы извлечь каталог из полного пути к файлу.
Нет ли простой команды “Open-Containing-Folder”, чтобы можно было заменить переменную?
например,
$foo = «C:UsersFoofoo.txt» [some code] $fooPath # opens C:UsersFoo and not the default program for .txt file extension Ответ №10
Это единственное, что соответствует моим уникальным ограничениям: открывать папку как вкладку Quizo в любом существующем окне проводника.
$objShell = New-Object -ComObject «Shell.Application» $objShell.Explore(«path»)