0

作为 PowerShell 的新手,我想知道直接脚本是什么来查找其中包含字符串“E xx”的文件的所有不同名称。

在我的这个文件夹中,有 2000 多个具有不同名称的 pdf 文件,例如 E 52(包含此字符串的 40 个文件)、E 44(包含此字符串的 12 个文件)、E 56(包含此字符串的一个文件) 等。不同字符串的数量是随机的,但是 2000 多个文件中的每一个都包含字母 E 并且在它之后有一个空格。我希望将其用作搜索指标。每个字符串的文件数也是随机的。

我需要将文件分类到文件夹中,并且我想快速找到该文件夹​​中的字符串,以便快速创建文件夹并对其进行排序。

经过一番研究,我了解到您必须在文本行之后使用“唯一”cmd。任何帮助,将不胜感激。

4

1 回答 1

-1
cd c:\Folder
ls | ? { -not $_.PSIsContainer -and $_.BaseName -cmatch 'E\s\d{2}' } | % { 
   $folder = $matches[0]
   new-item -ItemType Directory -Path . -Name $folder -ErrorAction SilentlyContinue
   move-item $_.Name $folder
}

Idk 如果这有帮助,但我建议进行更多研究。

如果你只是在谈论做

ls | ? {$_.Name -cmatch "E\s\d{2}"} | select unique

这可能不是很有用

于 2013-08-14T16:25:48.010 回答