HOWTO · PowerShell

如何使用 PowerShell 打开文件夹

本教程将教您如何使用 PowerShell 打开文件夹。

本页内容

要从 PowerShell 在 Windows 文件资源管理器中打开文件夹,请运行 Invoke-Item -LiteralPath 'C:\Users\Public',并将路径替换为目标文件夹的路径。使用 . 可打开当前工作目录。也可以传入文件路径来打开文件。下文列出几种效果相同的命令,并说明各自适用的场景。

打开文件资源管理器需要 Windows,因此下方的文件夹和文件命令仅展示语法。可运行的代码片段会打印一条供 Windows PowerShell 会话使用的命令;它不会启动 Explorer。

使用 Invoke-Item Cmdlet 通过 PowerShell 打开文件夹

Invoke-Item 会对路径执行默认操作。对于文件夹,默认操作是在文件资源管理器中打开它;对于文件,Windows 会使用与该文件关联的应用程序打开它。路径中包含空格时请加引号,并使用 -LiteralPath,这样方括号等字符会被视为名称的一部分。

若要获取可复制的命令,此代码片段会打印针对示例文件夹的 Invoke-Item 命令:

Write-Output "Invoke-Item -LiteralPath 'C:\Users\Public'"
Invoke-Item -LiteralPath 'C:\Users\Public'

若要打开 PowerShell 会话当前所在的目录,请传入 .:Invoke-Item -LiteralPath .。

若要打开文件,请提供它的完整路径。将 Invoke-Item -LiteralPath 'C:\Users\Public\Documents\example.txt' 替换为电脑上某个现有文件的路径。

简写别名 ii 会运行同一个 cmdlet,因此 ii -LiteralPath 'C:\Users\Public' 也能打开该文件夹。在脚本中,若清晰易读很重要,请优先使用 Invoke-Item;在交互式操作中,使用 ii 更方便。

使用 Start-Process(别名 start)通过 PowerShell 打开文件夹

Start-Process 会启动与路径关联的应用程序。它在 PowerShell 中的别名是 start;这个别名与命令提示符内置的 start 命令并不相同。路径中包含空格时请加引号。

若要打开指定文件夹,请使用 Start-Process -FilePath 'C:\Users\Public';若要打开当前工作目录,请使用 Start-Process -FilePath .。

在交互式操作中,也可以使用别名形式 start -FilePath 'C:\Users\Public'。这些命令会请求 Windows 打开文件夹,但不会更改 PowerShell 的当前目录。

使用 explorer 命令通过 PowerShell 打开文件夹

若要明确使用 Windows 文件资源管理器,请调用 explorer。传入文件夹路径,或传入 . 来指定当前工作目录:

使用 explorer 'C:\Users\Public' 打开指定文件夹,或使用 explorer . 打开当前工作目录。

路径中包含空格时请加引号。此命令会让文件资源管理器打开所选位置,同时保持 PowerShell 会话原有的目录不变。

使用 cmd.exe 和 start 命令通过 PowerShell 打开文件夹

可以通过 cmd.exe 调用命令提示符的 start 命令。/c 选项会让 cmd.exe 执行命令后退出。start 后面的空引号用于提供窗口标题参数;其后的带引号路径才是要打开的文件夹。

例如,cmd.exe /c start "" "C:\Users\Public" 会通过命令提示符的 start 命令打开示例文件夹。

如果需要在 PowerShell 会话中使用命令提示符的 start 语法,这种方式就很有用。请将文件夹路径括在引号中,使含空格的路径仍作为一个参数传递。

结论

若要对文件夹或文件执行默认操作,请使用 Invoke-Item;若要启动其关联的应用程序,请使用 Start-Process;若要明确在文件资源管理器中打开某个位置,请使用 explorer。这几种方式都可以用 . 指定当前工作目录。请将示例路径替换为 Windows 电脑上实际存在的位置。