【问题标题】:Locating filenames that follow certain naming conventions查找遵循某些命名约定的文件名
【发布时间】:2017-01-03 18:28:08
【问题描述】:

我的情况是,一个文件夹中有超过 2500 个项目,大约 500 个是相关的,它们都遵循相同的命名约定,即 integer.string,例如700.joesmith2000.Annieuser

有没有办法通过 CMD 行或 PowerShell 来隔离遵循特定命名约定的特定文件。我以前可以使用 findstr 作为基本解决方案,但使用文字搜索词而不是格式,所以我认为 PowerShell 将是解决方案,但我只是一个初学者。

我希望有办法,否则如果需要的话,我会很高兴地走很长的路。

提前致谢。

【问题讨论】:

  • 在 PowerShell 中:Get-ChildItem "C:\myfolder" | Where-Object { $_.Name -match "\d+\..+" }。警告:边缘情况。正则表达式表示1个或多个数字,后跟一个点,然后是任何东西
  • 谢谢@sodawillow 但是你能提供一个关于脚本的解释吗?如果它有效,那就太好了,但是如果我需要扩展它或改变它,我就不知道了。
  • 我建议您以此为起点,然后返回 edit your question 并在其中添加一些代码,以便我们帮助您调整它。
  • 太完美了,我得到了一点,所以我会用它作为起点,如果需要的话,按照你说的做。

标签: windows powershell command-line


【解决方案1】:

Get-ChildItem-Filter 参数一起使用。与使用 PowerShell 的 Where-Object 命令进行过滤相比,这会在文件系统驱动程序中执行过滤并提高性能。

这篇 StackOverflow 帖子详细介绍了如何有效地使用 -FilterPowershell, File system provider, Get-ChildItem filtering... where are the official docs?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-12-02
    • 1970-01-01
    • 2011-08-08
    • 2010-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多