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)」',你將得到逗號分隔的名字。 –