Я уверен, что это должно быть возможно, но я не могу понять, как это сделать.
Любые подсказки?
Я уверен, что это должно быть возможно, но я не могу понять, как это сделать.
Любые подсказки?
Использование:
ii .
Это одна из самых распространенных вещей, которые я набираю в командной строке PowerShell.
У вас есть несколько вариантов:
Примеры:
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")
Просто используйте командлет invoke-item. Например, если вы хотите открыть окно проводника в текущем каталоге, которое вы можете сделать:
invoke-item .
Используйте любой из них:
start.
explorer.
start explorer.
ii.
invoke-item.
Вы можете применить любую из этих команд в PowerShell.
На всякий случай, если вы хотите открыть проводник из командной строки, последние две команды не работают, а первые три работают нормально.
explorer .
Я столкнулся с этим вопросом, ища способ открыть окно проводника из PowerShell, а также выбрать файл. Я добавляю этот ответ в случае, если другие сталкиваются с ним по той же причине.
Чтобы запустить проводник и выбрать файл, используйте Invoke-Expression
:
Invoke-Expression "explorer '/select,$filePath'"
Возможно, есть другие способы сделать это, но это сработало для меня.
$startinfo = new-object System.Diagnostics.ProcessStartInfo
$startinfo.FileName = "explorer.exe"
$startinfo.WorkingDirectory = 'D:\foldername'
[System.Diagnostics.Process]::Start($startinfo)
Надеюсь, что это поможет
Запустите explorer.exe
Простая команда с одной строкой
Используйте эту строку:
invoke-item c:\path
Я хотел написать это как комментарий, но у меня нет 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
Это единственное, что соответствует моим уникальным ограничениям: открывать папку как вкладку Quizo в любом существующем окне проводника.
$objShell = New-Object -ComObject "Shell.Application"
$objShell.Explore("path")