powershell可以进行文件名扩展吗?

时间:2014-02-22 23:39:12

标签: powershell

在unix shell中,有一个命令:

echo *.txt

打印:

1.txt 2.txt 3.txt

因为shell在*.txt arg上执行文件名扩展。是否有可能通过Powershell获得相同的结果?尝试:

echo *.txt

结果就在:

*.txt

当然,回声只是一个愚蠢的例子。在实践中,我想将所有* .txt文件传递给不执行文件名扩展的外部命令。

更新

就我的目的而言,这看起来最好,即使它不是很优雅:

D:\cygwin\bin\echo.exe $(dir *.txt)

我在这里使用cygwin echo进行测试,因为powershell echo cmdlet会将文件格式化为对象。

1 个答案:

答案 0 :(得分:4)

你可以做那样的事情。这个命令不像bash那样简洁,但想法是一样的。尝试这样的事情:

Get-ChildItem -Filter "*.txt"

或者

Get-ChildItem | Where-Object {$_.Extension -eq ".txt"}

<#Same command as above#>
Get-ChildItem | ? {$_.Extension -eq ".txt"}

或者(如Keith Hill所指出的)如果你真的需要它们在同一条线上:

"$(Get-ChildItem *.txt -Name)"