Я уверен, что это должно быть возможно, но я не могу понять, как это сделать.Можно ли открыть окно Windows Explorer из PowerShell?
Любые подсказки?
Я уверен, что это должно быть возможно, но я не могу понять, как это сделать.Можно ли открыть окно Windows Explorer из PowerShell?
Любые подсказки?
Использование:
ii .
Это одна из наиболее распространенных вещей, которые я печатаю в команде PowerShell линия.
$startinfo = new-object System.Diagnostics.ProcessStartInfo
$startinfo.FileName = "explorer.exe"
$startinfo.WorkingDirectory = 'D:\foldername'
[System.Diagnostics.Process]::Start($startinfo)
Надеется, что это помогает
Просто используйте Invoke-Item командлет. Например, если вы хотите, чтобы открыть окно проводника на текущей директории вы можете сделать:
invoke-item .
explorer .
Это то, что я использовал в течение многих лет, но в последнее время «исследователь», похоже, вышел из моего пути. – DaveD 2017-04-20 01:29:30
У вас есть несколько вариантов:
Примеры:
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:\windows\explorer.exe PS C:\> ii c:\windows\explorer.exe PS C:\> [diagnostics.process]::start("explorer.exe")
Start explorer.exe
Простой одной строки команды
Я наткнулся на этот вопрос искал способ, чтобы открыть окно проводника с PowerShell и также выбрать файл. Я добавляю этот ответ в случае, если другие сталкиваются с ним по той же причине.
Чтобы запустить Проводник и выберите файл, используйте Invoke-Expression
:
Invoke-Expression "explorer '/select,$filePath'"
Есть, вероятно, и другие способы сделать это, но это работает для меня.
Я хотел написать это как комментарий, но у меня нет 50 репутации.
Все ответы в этой теме касаются, по сути, использования Invoke-Item или для непосредственного использования explorer.exe; однако это не является полностью синонимом «папки с открытым содержимым», поэтому с точки зрения открытия окна «Проводник» по мере постановки вопроса, если мы хотим применить ответ к конкретному файлу, вопрос по-прежнему не получил ответа.
например,
Invoke-Item C:\Users\Foo\bar.txt
explorer.exe C:\Users\Foo\bar.html
^эти две команды приведет к Notepad.exe или Firefox.exe быть вызван на два файла, соответственно, не окно explorer.exe на C: \ Users \ Foo \ (содержащий каталог).
Принимая во внимание, что если кто-то выдавал эту команду из powershell, это было бы неважно (без ввода текста в любом случае), если кто-то скриптит и должен «открывать содержащую папку» в переменной, это становится вопросом соответствия строки извлеките каталог из полного пути к файлу.
Нет ли простой команды «Open-Containing-Folder», чтобы можно было заменить переменную?
например,
$foo = "C:\Users\Foo\foo.txt"
[some code] $fooPath
# opens C:\Users\Foo\ and not the default program for .txt file extension
использовать эту линию:
invoke-item c:\path
Использование любого из них:
start .
explorer .
start explorer .
ii .
invoke-item .
Вы можете применить любой из этих команд в PowerShell.
На всякий случай, если вы хотите открыть исследование из командной строки, последние две команды не работают, а первые три работают нормально.
Это единственное, что соответствует моим уникальные ограничения
$objShell = New-Object -ComObject "Shell.Application"
$objShell.Explore("path")
Я не знаю, почему это становится отвергнут - я могу видеть, не проголосовав его за отсутствие элегантности, но она по-прежнему хороший (хотя и многословный) ответ :) Вы получаете мой UP. – slipsec 2008-11-26 16:52:30
Согласен. Это намного больше кода, но это позволяет немного гибкости. – 2008-11-28 06:23:56