2017-09-23 39 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

相关问题