0
在UNIX壳,像一个命令:PowerShell可以扩展文件名吗?
echo *.txt
打印:
1.txt 2.txt 3.txt
因为壳对所述*.txt
ARG文件名扩展。是否有可能实现与Powershell相同的结果?尝试:
echo *.txt
结果只是:
*.txt
当然,回音仅仅是一个愚蠢的例子。在实践中,我想将所有* .txt文件传递给一个不执行文件名扩展的外部命令。
UPDATE
对于我而言,这是最好看,即使它不是很优雅:
D:\cygwin\bin\echo.exe $(dir *.txt)
我用cygwin的回声在这里进行测试,因为PowerShell的回声小命令将格式化文件,对象。
我会去' Get-ChildItem * .txt -name'或使用别名'ls * .txt -name'。如果你想要在同一行上的文件名,那么'“$(ls * .ps1 -name)”'。 –
@KeithHill,我补充说。我通常不是使用PS别名的粉丝。 – SomeShinyObject
不要忘记该语句的双引号。这是从子表达式返回的数组中创建一个字符串的重要位。默认分隔符是空格,但您可以使用'$ OFS'变量来更改它。设置'$ OFS =',''然后运行'“$(Get-ChildItem * .txt -Name)”',你将得到逗号分隔的名字。 –