首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Powershell - Get-ChildItem通配符

Powershell - Get-ChildItem通配符
EN

Stack Overflow用户
提问于 2020-05-13 08:38:18
回答 2查看 1.5K关注 0票数 0

Get filename*.log.*也会获取filename*.log。如何才能只获得以点扩展名filename*.log.*结尾的日志文件,以便删除它们?我想使用删除项,但决定使用get- check检查。

这是文件。

代码语言:javascript
复制
Server1234.log
Server1234.log.1
Server1234.log.2
Server1234.log.3
Server1234.log.4

Get filename*.log.*显示了上述所有内容。我不希望Server1234.log在输出中。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-05-13 08:44:28

您可以使用过滤器

代码语言:javascript
复制
Get-ChildItem filename*.log.?*

问号上写着至少有一个角色.

票数 1
EN

Stack Overflow用户

发布于 2020-05-13 08:53:04

你的过滤器应该能用。我创建了3个文件:

代码语言:javascript
复制
New-Item 'Server1234.log' -ItemType File
New-Item 'Server1234.log.1' -ItemType File
New-Item 'Server1234.log.2' -ItemType File

这是输出 of Get-ChildItem Server1234*.log.*

代码语言:javascript
复制
PS D:\> Get-ChildItem Server1234*.log.*

    Directory: D:\


Mode                LastWriteTime         Length Name                                                                                                                       
----                -------------         ------ ----                                                                                                                       
-a----       13/05/2020     10:51              0 Server1234.log.1                                                                                                           
-a----       13/05/2020     10:51              0 Server1234.log.2 

注意:Get-ChildItem cmdlet的过滤器参数不使用regex!如果要使用regex,可以在Where-Object cmdlet中这样做:

代码语言:javascript
复制
Get-ChildItem | Where-Object { $_.Name -match 'Server123.*log\.+' }
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61769959

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档