在Powershell中打开具有特定扩展名的所有文件

时间:2020-04-10 04:04:19

标签: powershell glob

在Linux上,如果我位于目录中,并且希望使用应用程序(例如atom)打开所有.py文件,则只需键入atom *.py,然后所有.py文件都将使用atom打开。如果我在Powershell中键入相同的内容,则会收到错误消息,因此我认为Powershell的语法不同。我将如何使用Powershell做到这一点?

很抱歉,如果这是一个初学者的问题,这是我第一次使用Powershell。

2 个答案:

答案 0 :(得分:0)

尝试一下:

& "Full path of atom.exe" @("*.py")

答案 1 :(得分:0)

首先收集要打开的文件,然后将它们通过管道传递给外部程序的调用:

Get-ChildItem -Path .\* -Include *.py | ForEach-Object {Start-Process -FilePath atom.exe -ArgumentList "`"$($_.FullName)`""}

如果需要,请调整到外部程序的路径,并调整参数列表(例如,命名参数而不是位置参数)。通过特殊的引用,该语句甚至可以处理带空格的文件名。

如果此行需要* nix背景,可以将其缩小为:

gci *.py|%{start atom "`"$($_.FullName)`""}