Я хотел написать это как комментарий, но у меня нет 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, это не составило бы большого труда (в любом случае, было бы меньше печатать), если кто-то создает сценарии и ему нужно «открыть содержащую папку» для переменной, это становится вопросом соответствия строк для извлечения каталог с полным путем к файлу.
Нет ли такой простой команды "Открыть-содержащую-папку", которая могла бы заменить переменную?
например,
$foo = "C:\Users\Foo\foo.txt"
[some code] $fooPath
# opens C:\Users\Foo\ and not the default program for .txt file extension