2014-10-30 1863 views
0

我有一個包含名爲Bruce.txt的文件的目錄。我需要將文件名複製到平面文件。我嘗試使用copy-item命令,但它複製的內容不是名稱。使用PowerShell獲取目錄中的文件名

是否有命令將Bruce.txt(名稱不是內容)複製到平面文件?所以完成後會有一個名爲process.txt的文件,其內容將是Bruce.txt。我試過用

Copy-Item -Path "C:\Users\Bruce\deploy\*.txt" -Destination "C:\Users\Bruce\process.txt"

部署內部是一個名爲Bruce.txt的文本文件,其內容爲select count() from EMP_NR

我需要Bruce.txt複製到process.txt不是SELECT COUNT()等

對於shell腳本我用ls命令和它的作品精彩我有什麼可以使用PowerShell中的名字嗎?

回答

3

您需要使用Get-ChildItem cmdlet。

Get-ChildItem C:\Users\Bruce\deploy\*.txt | Select-Object -ExpandProperty Name | Out-File C:\Users\Bruce\process.txt -Force -Append 

然而,當你使用PowerShell中,ls實際上你在這裏工作,正如gcidir因爲他們都別名Get-ChildItem

> get-alias | ? {$_.DisplayName -ilike "*get-childitem*" } 

CommandType  Name 
-----------  ---- 
Alias   dir -> Get-ChildItem 
Alias   gci -> Get-ChildItem 
Alias   ls -> Get-ChildItem 

你也可以如果您願意,可以使用>>>而不是管道Out-File

由於Get-Childitem cmdlet返回對象列表,因此您還需要選擇要從對象中提取哪些信息。如果您在包含某些內容的目錄中執行ls,則會看到內容格式化爲表格。

通過使用Select-Object cmdlet,可以提取要寫入文件的對象屬性,在本例中爲Name屬性。

相關問題