如何使用 Windows Powershell 一次打开多个文件?

如何使用 Windows Powershell 一次打开多个文件?

在 MacOS 上,我可以使用“打开”命令打开多个文件(用空格分隔),即使文件类型不同。例如open [1.jpg] [2.jpg]

如何在 Windows Powershell 上执行相同操作?

我尝试使用启动命令、Invoke-Item 和描述的方法这里用空格和逗号分隔文件,但似乎都不起作用。

谢谢!

答案1

一种选择是使用分号:

notepad test1.txt; notepad test2.txt

这将依次打开文件。

使用start与分号组合,可以并行打开:

start notepad test1.txt; start notepad test2.txt

答案2

杰西提供了关键的提示:

  • 自从Invoke-Item- 使用注册的应用程序打开文档的 PowerShell cmdlet 类似于openmacOS - 仅接受单身的文件作为争论,您必须提供路径多种的要打开的文件通过管道

  • 当你将路径传递为字符串通过管道,有一个小警告

    • 因为它们绑定到-Path参数,所以字符串被解释为通配符表达式,这会导致包含[和的路径出现问题]
  • 为了避免这个问题,-LiteralPath必须绑定参数,最简单的方法是使用Get-ChildItem或者Get-Item, 哪个接受多条路径作为参数

Get-Item -LiteralPath [1.jpg], [2.jpg] | Invoke-Item # binds to -LiteralPath

如果不存在通配符问题,则可以使用以下任一形式;请注意,Get-Item在这个简单情况下,引用参数是可选的(但带有空格或其他元字符的路径则需要它们):

'1.jpg', '2.jpg' | Invoke-Item  # binds to -Path

# or

Get-Item 1.jpg, 2.jpg | Invoke-Item # -Path implied for Get-Item

相关内容