2017-09-23 38 views
1

Directions:Century5的密碼是桌面上名稱中有空格的目錄中文件的名稱。查找包含powershell空間名稱的目錄

使用powershell工作在線遊戲,需要在桌面上找到名稱中包含空格的目錄。到目前爲止,我嘗試了以下,但它似乎給出了相同的輸出:

[century.underthewire.tech]: PS C:\Users\century4\Desktop> get-childitem * * 


    Directory: C:\Users\century4\Desktop 


Mode    LastWriteTime   Length Name                                   
----    -------------   ------ ----                                   
d-----   6/8/2017 4:16 PM    1                   199                 
d-----   6/8/2017 4:17 PM    200                  299                  
d-----   6/8/2017 4:17 PM    300                  399                 
d-----   6/8/2017 4:17 PM    400                 499                  
d-----   6/8/2017 4:19 PM    500                               501     



[century.underthewire.tech]: PS C:\Users\century4\Desktop> get-childitem | where-object {$_ -match ' '} 


    Directory: C:\Users\century4\Desktop 


Mode    LastWriteTime   Length Name                                   
----    -------------   ------ ----                                   
d-----   6/8/2017 4:16 PM    1                   199                 
d-----   6/8/2017 4:17 PM    200                  299                  
d-----   6/8/2017 4:17 PM    300                  399                 
d-----   6/8/2017 4:17 PM    400                 499                  
d-----   6/8/2017 4:19 PM    500                               501     

看起來他們都有空間。我可能只是檢查每個目錄中包含密碼的文件,但我想學習過濾。

+0

如果所有名稱都包含空格,則這是您將收到的輸出。你能否提供正確的文件名稱?例如:「199」,「299」等。另外,請嘗試'where-object {$ _。Name -match''}' – E235

+0

此命令根本沒有返回任何輸出,但也沒有錯誤。 – dcvl

+0

其中有任何內容的唯一目錄是:'500 501' 看起來很明顯,當你看到501比其他人更靠右,但我想知道如何自動執行此搜索。 – dcvl

回答

0

在PowerShell RegEx \s表示一個空格。也可以使用-Directory參數僅獲取目錄,並篩選BaseName屬性,以便不匹配完整路徑。

Get-ChildItem -Recurse -Directory | Where-Object {$_.Name -match '\s'} 
+0

基本名稱是刪除擴展名的代理屬性。目錄沒有這些,所以它是多餘的。 'Name'就足夠了。從問題的角度來看,無論如何,這可能會給同樣的結果。 – Matt

+0

感謝您的提示,我認爲默認屬性可能是FullName。我相應地編輯了我的答案。 – vrdse

+0

它確實給出了相同的結果: – dcvl

相關問題