Код:
Код: Выделить всё
$notparse = '\d{5}|.+rufig_''\d{5}' -- пять цифр
'|' -- логическое 'или'
'.+rufig_' -- один или более символов перед rufig_
Код: Выделить всё
$notparse = '\d{5}|.+rufig_'
Код: Выделить всё
Функции:
attrib:<атрибуты> Найти файлы и папки с указанными файловыми атрибутами
attributes:<атрибуты> Найти файлы и папки с указанными файловыми атрибутами
child:<имя_файла> Найти папки, содержащие файл с подходящим именем
dateaccessed:<дата> Найти файлы и папки с указанной датой последнего доступа
datecreated:<дата> Найти файлы и папки с указанной датой создания
datemodified:<дата> Найти файлы и папки с указанной датой изменения
daterun:<дата> Найти файлы и папки с указанной датой запуска
da:<дата> Найти файлы и папки с указанной датой последнего доступа
dc:<дата> Найти файлы и папки с указанной датой создания
dm:<дата> Найти файлы и папки с указанной датой изменения
dr:<дата> Найти файлы и папки с указанной датой запуска
dupe: Найти дублирующиеся имена файлов
empty: Найти пустые папки
ext:<список> Найти файлы с подходящим расширением из указанного списка расширений, разделённых точкой с запятой (;)
fsi:<индекс> Найти файлы и папки в указанном внутреннем индексе файловой системы с базой 0
len:<длина> Найти файлы и папки с именами указанной длины
parents:<кол-во> Найти файлы и папки с указанным количеством родительских папок
rc:<дата> Найти файлы и папки с указанной датой последнего изменения
recentchange:<дата> Найти файлы и папки с указанной датой последнего изменения
root: Найти файлы и папки, не имеющие родительских папок
runcount:<число> Найти файлы и папки, запущенные указанное количество раз
size:<размер> Найти файлы указанного размера (в байтах)
type:<тип> Найти файлы и папки указанного типаКод: Выделить всё
return & {
....
}} | set-content "D:\Test\result.txt"
invoke-item "D:\Test\result.txt"Код: Выделить всё
$notparse = 'mydomain.com_|mydomain.org_|www.ya.ru_|\[игнор\]' # Если присутствуют'[' и ']', то их надо экранировать '\[' и '\]'
$search_len = 7
$files = get-childitem .\test -recurse | where { -not $_.psiscontainer }
$patterns = foreach ($f in $files) {
$f = $f.basename -replace $notparse
for ($i = 0; $i -le ($f.length - $search_len); $i++) {
$f.substring($i,$search_len) -replace '(\[|\])','\$1'
}}
return & {
foreach ($p in ($patterns | sort -unique)) {
$res = $files | where { ($_.basename -replace $notparse) -match ".*${p}.*" } | foreach { "[${p}]: " + "$_" }
if ($res.count -ge 2) { $res -replace '\\'; '' }
}} | sc 1.txtКод: Выделить всё
$notparse = 'mydomain.com_|mydomain.org_|www.ya.ru_|\[игнор\]' # Если присутствуют'[' и ']', то их надо экранировать '\[' и '\]'
$search_len = 7
$files = get-childitem .\test -recurse | where { -not $_.psiscontainer }
$patterns = foreach ($f in $files) {
$f = $f.basename -replace $notparse
for ($i = 0; $i -le ($f.length - $search_len); $i++) {
$f.substring($i,$search_len) -replace '(\[|\])','\$1'
}}
{
foreach ($p in ($patterns | sort -unique)) {
$res = $files | where { ($_.basename -replace $notparse) -match ".*${p}.*" } | foreach { "[${p}]: " + "$_" }
if ($res.count -ge 2) { $res -replace '\\'; '' }
}} | sc 1.txt
invoke-item 1.txt