Форум программистов, компьютерный форум, киберфорум
PowerShell
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.73/64: Рейтинг темы: голосов - 64, средняя оценка - 4.73
0 / 0 / 0
Регистрация: 12.06.2016
Сообщений: 288

Список по маске

21.01.2019, 14:48. Показов 13026. Ответов 51
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как вывести список содержимого в директории, исключив из папки фалы '*.log','*.log*' и всё содержащее внутри папки temp, включая её саму?
PowerShell
1
ls "C:\1\3" -Recurse | ?{($_.psiscontainer -ne "C:\1\3\temp") -and ($_.Name -notlike "*.log*")}
так не получается.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
21.01.2019, 14:48
Ответы с готовыми решениями:

Создать список файлов по маске
Привет всем, мне нужно на диске найти все файлы, отвечающие условиям маски и занести их в список с полным путем к файлу. Вот код...

Список файлов по заданной маске
Добрый день, подскажите, везде искал ничего подобного не смог найти. Хочу реализовать следующий макрос: 1. Есть файл на Листе1 задаю ...

Вывести список файлов по маске
Здравствуйте!Как вывести список файлов по маске используя регулярные выражения ,так почему то не проходит start cmd /K java DirList...

51
 Аватар для KDE777
1886 / 1108 / 428
Регистрация: 22.01.2016
Сообщений: 3,050
21.01.2019, 15:22
Лучший ответ Сообщение было отмечено Dimasik1989 как решение

Решение

Цитата Сообщение от Dimasik1989 Посмотреть сообщение
вывести список содержимого в директории, исключив из папки фалы '*.log','*.log*' и всё содержащее внутри папки temp, включая её саму
PowerShell
1
Get-ChildItem "C:\1\3\*" -Exclude *.log* -File -Recurse | ? DirectoryName -NotMatch '\\Temp$|\\Temp\\'
1
0 / 0 / 0
Регистрация: 12.06.2016
Сообщений: 288
21.01.2019, 16:22  [ТС]
Да, забыл ещё нужно в этот список включить все пустые папки

Добавлено через 7 минут
KDE777, скрипт получается исключает все вложенные папки temp в подпапках, а нужно только в C:\1\3\temp, ну и то что внутри неё
0
 Аватар для KDE777
1886 / 1108 / 428
Регистрация: 22.01.2016
Сообщений: 3,050
21.01.2019, 16:45
Цитата Сообщение от Dimasik1989 Посмотреть сообщение
нужно в этот список включить все пустые папки
PowerShell
1
ls C:\1\3 -Exclude *.log* -Recurse | ? FullName -NotMatch '\\Temp$|\\Temp\\'
А если в C:\1\3 только папки, тогда можно так:

PowerShell
1
ls C:\1\3 -dir -exc Temp | ls -rec-exc *.log*
Добавлено через 4 минуты
Цитата Сообщение от Dimasik1989 Посмотреть сообщение
а нужно только в C:\1\3\temp, ну и то что внутри неё
Изначально про расположение temp ничего не уточнялось:

PowerShell
1
ls C:\1\3 -Exclude *.log* -Recurse | ? FullName -NotMatch 'C:\\1\\3\\(Temp$|Temp\\)'
0
Любознательный
 Аватар для YuS_2
7404 / 2251 / 360
Регистрация: 10.03.2016
Сообщений: 5,207
21.01.2019, 17:19
Цитата Сообщение от KDE777 Посмотреть сообщение
ls C:\1\3 -Exclude *.log* -Recurse
А у меня есть такая папка:
Code
1
C:\1\3\qwerty.logotype
0
0 / 0 / 0
Регистрация: 12.06.2016
Сообщений: 288
21.01.2019, 17:32  [ТС]
Спасибо большое, тут всё то что нужно. Но я писал скрипт по архивации данных и кое что немного не выходит, поэтому я создам новую тему. Посмотрите пожалуйста.
0
Любознательный
 Аватар для YuS_2
7404 / 2251 / 360
Регистрация: 10.03.2016
Сообщений: 5,207
21.01.2019, 17:48
PowerShell
1
(dir C:\1\3|? name -ne 'temp'|%{dir $_.fullname -rec}).fullname|sort length
0
21.01.2019, 18:09

Не по теме:

Цитата Сообщение от YuS_2 Посмотреть сообщение
А у меня есть такая папка
Очевидно, что если учитываем и это, тогда необходимо: убирать -Exclude, и добавлять проверку Extension только у файлов (не PSIsContainer). Я об этом подумал, но решил, что пусть об этом же задумается (если столкнётся) и автор темы. А то в этой ветке уже давно, создал множество тем, но при этом пытается сравнивать свойство PSIsContainer с именем :)

0
Любознательный
 Аватар для YuS_2
7404 / 2251 / 360
Регистрация: 10.03.2016
Сообщений: 5,207
21.01.2019, 18:22

Не по теме:

Цитата Сообщение от KDE777 Посмотреть сообщение
пусть об этом же задумается (если столкнётся) и автор темы.
это да, думать оно никогда не вредно :)
Цитата Сообщение от KDE777 Посмотреть сообщение
пытается сравнивать свойство PSIsContainer с именем
Ну, есть вероятность того, что PoSh v 2.0 тоже будет использоваться... а то, что не с тем сравнивает - возможно ошибка, связанная с усталостью :)



Кстати, забыл про *.log*
PowerShell
1
(dir C:\1\3|? name -ne 'temp'|%{dir $_.fullname -rec -file -exc *.log*;dir $_.fullname -dir -rec}).fullname|sort length
0
 Аватар для KDE777
1886 / 1108 / 428
Регистрация: 22.01.2016
Сообщений: 3,050
21.01.2019, 19:26
Цитата Сообщение от YuS_2 Посмотреть сообщение
PowerShell
1
dir C:\1\3|? name -ne 'temp'
Тогда можно и так:

PowerShell
1
dir C:\1\3 -exc temp
Цитата Сообщение от YuS_2 Посмотреть сообщение
PowerShell
1
(dir C:\1\3|? name -ne 'temp'|%{dir $_.fullname -rec -file -exc *.log*;dir $_.fullname -dir -rec}).fullname|sort length
Ок, давайте проверим

PowerShell
1
2
3
4
cls
dir C:\1\3 -rec | sort FullName | select FullName,PSIsContainer
''
dir C:\1\3|? name -ne 'temp'|%{dir $_.fullname -rec -file -exc *.log*;dir $_.fullname -dir -rec} | sort FullName | select FullName,PSIsContainer
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
FullName                   PSIsContainer
--------                   -------------
C:\1\3\1.log                       False
C:\1\3\1.logx                      False
C:\1\3\1.txt                       False
C:\1\3\A                            True
C:\1\3\A\1.log                     False
C:\1\3\A\1.txt                     False
C:\1\3\B                            True
C:\1\3\C                            True
C:\1\3\C\1.txt                     False
C:\1\3\C\E                          True
C:\1\3\qwerty.logotype              True
C:\1\3\Temp                         True
C:\1\3\Temp\1.txt                  False
C:\1\3\Temp\2018-01-11.log         False
 
C:\1\3\1.txt                       False
C:\1\3\A\1.txt                     False
C:\1\3\A\1.txt                     False
C:\1\3\C\1.txt                     False
C:\1\3\C\1.txt                     False
C:\1\3\C\E                          True
C:\1\3\Temp\1.txt                  False
Итого:

- пропали папки "C:\1\3\qwerty.logotype" и "C:\1\3\B"
- файлы "C:\1\3\A\1.txt" и C:\1\3\C\1.txt выдало дважды (что для дальнейшего архивирования не лучшая идея)
- а файл "1.txt" из "C:\1\3\Temp" пропустило

Добавлено через 20 минут
Тогда уже так (без 3-х dir)

PowerShell
1
2
$root = 'C:\1\3'
dir $root -rec | ? FullName -NotMatch "$([regex]::Escape($root))\\(Temp$|Temp\\)" |% {if($_.PSIsContainer){$_}else{$_ | ? Extension -NotLike '*.log*'}} | sort FullName | select FullName,PSIsContainer
Code
1
2
3
4
5
6
7
8
C:\1\3\1.txt                       False
C:\1\3\A                            True
C:\1\3\A\1.txt                     False
C:\1\3\B                            True
C:\1\3\C                            True
C:\1\3\C\1.txt                     False
C:\1\3\C\E                          True
C:\1\3\qwerty.logotype              True
0
Любознательный
 Аватар для YuS_2
7404 / 2251 / 360
Регистрация: 10.03.2016
Сообщений: 5,207
21.01.2019, 19:42
Цитата Сообщение от KDE777 Посмотреть сообщение
пропали папки
Действительно, решение так себе... пустые папки из корня пропускает, но это полбеды, можно что-нибудь придумать.
А вот файл с именем 1.txt обладает какой-то магической способностью и удваиваться, и вдруг вылазить из папки, которой даже в принципе нет в листинге:
PowerShell
1
dir C:\1\3|? name -ne 'temp'
Другие файлы не обладают такой способностью... так что это скорее баг в PS, чем недостаток решения.

Добавлено через 1 минуту
Цитата Сообщение от KDE777 Посмотреть сообщение
Тогда можно и так:
А это да, можно сократить код, приняв условие о наличии каталога с именем Temp, т.к. файла такого уже точно не будет...
0
 Аватар для KDE777
1886 / 1108 / 428
Регистрация: 22.01.2016
Сообщений: 3,050
21.01.2019, 19:53
Цитата Сообщение от YuS_2 Посмотреть сообщение
А вот файл с именем 1.txt обладает какой-то магической способностью и удваиваться, и вдруг вылазить из папки, которой даже в принципе нет в листинге:
Это последствия того, что в вашем примере для Get-ChildItem, с ключом -Recurse передаётся имя одиночного файла:

PowerShell
1
Get-ChildItem C:\1\3\1.txt -Recurse
В этом случае, PS выберет и 1.txt (и любое другое имя) и из всех подкаталогов (можете проверить). А чтобы этого избежать нужен ключ -LiteralPath

Добавлено через 3 минуты
Цитата Сообщение от YuS_2 Посмотреть сообщение
А это да, можно сократить код, приняв условие о наличии каталога с именем Temp, т.к. файла такого уже точно не будет
Не, у меня там ключ -rec, а поэтому может пропасть нужное:

PowerShell
1
dir $root -rec |? name -ne 'temp'
0
Любознательный
 Аватар для YuS_2
7404 / 2251 / 360
Регистрация: 10.03.2016
Сообщений: 5,207
21.01.2019, 20:21
В общем, эндрелиз:
PowerShell
1
2
3
4
5
6
7
(dir C:\1\3|? name -ne 'temp'|%{
    if ($_.psiscontainer){
        if((dir ($a = gi $_.fullname) -rec -file).length -eq 0){$a}
        dir $_.fullname -rec -file -exc *.log*
        dir $_.fullname -dir -rec
    } else {if(($b = gi $_.fullname).extension -notlike '.log*'){$b}}
}).fullname|sort length
непустые каталоги не попадают в список, только пустые ... и да, непустые с файлами нулевой длины тоже выводятся отдельно, лень было ещё дополнительные проверки приляпывать... но, думаю, что файлы-пустышки вряд ли могут иметь какое-либо значение...

Цитата Сообщение от KDE777 Посмотреть сообщение
Не, у меня там ключ -rec, а поэтому может пропасть нужное:
Не про то имел в виду...
Вот это:
PowerShell
1
dir C:\1\3|? name -ne 'temp'
можно заменить этим:
Цитата Сообщение от KDE777 Посмотреть сообщение
PowerShell
1
dir C:\1\3 -exc temp
Добавлено через 5 минут
Цитата Сообщение от KDE777 Посмотреть сообщение
Это последствия того, что в вашем примере для Get-ChildItem, с ключом -Recurse передаётся имя одиночного файла
А вот тут... ну и пусть себе передаётся... откуда он выкапывает файл из каталога, которого вообще нет в листинге?!
Цитата Сообщение от KDE777 Посмотреть сообщение
Get-ChildItem C:\1\3\1.txt -Recurse
Что он здесь может выловить? Каталога 'Temp' точно не откопать таким способом, ибо командлет работающий с файлом, ну никак не может получить дочерние объекты из каталога, который лежит рядом с этим файлом и никакого отношения к этому же файлу не имеет, кроме, конечно, родительского каталога.
0
 Аватар для KDE777
1886 / 1108 / 428
Регистрация: 22.01.2016
Сообщений: 3,050
21.01.2019, 20:50
Цитата Сообщение от YuS_2 Посмотреть сообщение
Не про то имел в виду...
Вот это:

PowerShell
1
dir C:\1\3|? name -ne 'temp'
можно заменить этим:

PowerShell
1
dir C:\1\3 -exc temp
И ещё раз нет, т.к. у меня здесь dir с ключом -rec, а значит проскочат вложенные в \Temp файлы

Добавлено через 18 минут
Цитата Сообщение от YuS_2 Посмотреть сообщение
А вот тут... ну и пусть себе передаётся... откуда он выкапывает файл из каталога, которого вообще нет в листинге?!
Цитата Сообщение от YuS_2 Посмотреть сообщение
Что он здесь может выловить? Каталога 'Temp' точно не откопать таким способом, ибо командлет работающий с файлом, ну никак не может получить дочерние объекты из каталога, который лежит рядом с этим файлом и никакого отношения к этому же файлу не имеет, кроме, конечно, родительского каталога.
Ну вы же увидели, что он может выловить

PowerShell
1
2
3
4
5
(dir C:\1\3\1.txt).FullName
''
(dir -LiteralPath C:\1\3\1.txt -Recurse).FullName
''
(dir -Path C:\1\3\1.txt -Recurse).FullName
Code
1
2
3
4
5
6
7
8
9
C:\1\3\1.txt
 
C:\1\3\1.txt
 
C:\1\3\A\1.txt
C:\1\3\C\1.txt
C:\1\3\E\A\1.txt
C:\1\3\Temp\1.txt
C:\1\3\1.txt
Очевидно, что этот эффект возникает из-за связки -Recurse и -Path и видимо потому, что path умеет wildcards, а LiteralPath нет - "Unlike the Path parameter, the value of LiteralPath is used exactly as it is typed. No characters are interpreted as wildcards"...

И зачем вызывать для одиночного файла Get-ChildItem -Recurse, а не просто Get-Item?
0
Любознательный
 Аватар для YuS_2
7404 / 2251 / 360
Регистрация: 10.03.2016
Сообщений: 5,207
21.01.2019, 20:51
Цитата Сообщение от KDE777 Посмотреть сообщение
т.к. у меня здесь dir с ключом -rec
где?
где тут -rec
Цитата Сообщение от KDE777 Посмотреть сообщение
dir C:\1\3 -exc temp
?
Слепотой я точно, до сих пор, не страдал... глаз, конечно, может и "замылиться", но не в этом случае.
0
 Аватар для KDE777
1886 / 1108 / 428
Регистрация: 22.01.2016
Сообщений: 3,050
21.01.2019, 20:57
Цитата Сообщение от YuS_2 Посмотреть сообщение
где тут -rec
В моём рабочем варианте: #10, после "Тогда уже". А "dir C:\1\3 -exc temp", я предлагал для модернизации вашего варианта, в котором, да без -rec, повторно вызывается dir...
0
Любознательный
 Аватар для YuS_2
7404 / 2251 / 360
Регистрация: 10.03.2016
Сообщений: 5,207
21.01.2019, 21:06
Цитата Сообщение от KDE777 Посмотреть сообщение
Очевидно, что этот эффект возникает из-за связки -Recurse и -Path и видимо потому, что path умеет wildcards
Очевидно, что это баг, ибо get-childitem = получить-дочернийпредмет
Все остальное - неоправданное излишество, рекурсивное оно или нет, неважно...

Добавлено через 1 минуту
Цитата Сообщение от KDE777 Посмотреть сообщение
я предлагал для модернизации вашего варианта
Так я об этом, как раз и говорил, к тому же и процитировал даже. Нет?

Добавлено через 6 минут
Цитата Сообщение от KDE777 Посмотреть сообщение
И зачем вызывать для одиночного файла Get-ChildItem -Recurse, а не просто Get-Item?
Ели вызов недопустим - результатом должно быть исключение, а не полный трындец, вместо дочерних итемов
0
 Аватар для KDE777
1886 / 1108 / 428
Регистрация: 22.01.2016
Сообщений: 3,050
21.01.2019, 21:28
Цитата Сообщение от YuS_2 Посмотреть сообщение
Очевидно, что это баг, ибо get-childitem = получить-дочернийпредмет
У каталога дочерние Item'сы - файлы и подкаталоги, а какие дочерние Item'сы у файла?

Цитата Сообщение от YuS_2 Посмотреть сообщение
В общем, эндрелиз:
PowerShell
1
2
3
4
5
6
7
(dir C:\1\3|? name -ne 'temp'|%{
* * if ($_.psiscontainer){
* * * * if((dir ($a = gi $_.fullname) -rec -file).length -eq 0){$a}
* * * * dir $_.fullname -rec -file -exc *.log*
* * * * dir $_.fullname -dir -rec
* * } else {if(($b = gi $_.fullname).extension -notlike '.log*'){$b}}
}).fullname|sort length
непустые каталоги не попадают в список, только пустые ... и да, непустые с файлами нулевой длины тоже выводятся отдельно, лень было ещё дополнительные проверки приляпывать... но, думаю, что файлы-пустышки вряд ли могут иметь какое-либо значение...
По моему, очень много dir, if, переменных + gi...

Вот вариант, который кстати и каталоги с файл-пустышками отдельно не выводит:

PowerShell
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
cls
$root = 'C:\1\3'
"Вариант YuS_2"
dir $root -exc 'temp'|%{
    if ($_.psiscontainer){
        if((dir ($a = gi $_.fullname) -rec -file).length -eq 0){$a}
        dir $_.fullname -rec -file -exc *.log*
        dir $_.fullname -dir -rec
    } else {if(($b = gi $_.fullname).extension -notlike '.log*'){$b}}
} | sort FullName | select FullName,PSIsContainer,Length
 
"`nВариант KDE777"
dir $root -rec | ? FullName -NotMatch "$([regex]::Escape($root))\\(Temp$|Temp\\)" |% {
    if ($_.PSIsContainer) {if (!(dir $_.FullName)) {$_}}
    else                  {$_ | ? Extension -NotLike '*.log*'}} | sort FullName | select FullName,PSIsContainer,Length
Кликните здесь для просмотра всего текста
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Вариант YuS_2
 
FullName               PSIsContainer Length
--------               ------------- ------
C:\1\3\1.txt                   False      0
C:\1\3\A\1.txt                 False      3
C:\1\3\B                        True       
C:\1\3\C                        True       
C:\1\3\C\1.txt                 False      0
C:\1\3\C\E                      True       
C:\1\3\D                        True       
C:\1\3\D\F                      True       
C:\1\3\D\Temp                   True       
C:\1\3\E\A                      True       
C:\1\3\E\A\1.txt               False      0
C:\1\3\qwerty.logotype          True       
 
Вариант KDE777
C:\1\3\1.txt                   False      0
C:\1\3\A\1.txt                 False      3
C:\1\3\B                        True       
C:\1\3\C\1.txt                 False      0
C:\1\3\C\E                      True       
C:\1\3\D\F                      True       
C:\1\3\D\Temp                   True       
C:\1\3\E\A\1.txt               False      0
C:\1\3\qwerty.logotype          True


Добавлено через 5 минут
Цитата Сообщение от YuS_2 Посмотреть сообщение
Ели вызов недопустим - результатом должно быть исключение, а не полный трындец
С этим полностью согласен. Однако этот пример показывает, что на исключения надейся, а тщательно тестировать всевозможные варианты не забывай Особенно, когда мы собираемся делать, что-то помимо Get-*
0
Любознательный
 Аватар для YuS_2
7404 / 2251 / 360
Регистрация: 10.03.2016
Сообщений: 5,207
21.01.2019, 21:42
Цитата Сообщение от KDE777 Посмотреть сообщение
По моему, очень много dir, if, переменных + gi...
не много, а сколько необходимо

ибо:
Цитата Сообщение от KDE777 Посмотреть сообщение
Ок, давайте проверим
PowerShell
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
cls
dir C:\1\3 -rec| sort FullName | select FullName,PSIsContainer,Length
 
"`nYuS_2"
 
dir C:\1\3|? name -ne 'temp'|%{
    if ($_.psiscontainer){
        if((dir ($a = gi $_.fullname) -rec -file).length -eq 0){$a}
        dir $_.fullname -rec -file -exc *.log*
        dir $_.fullname -dir -rec
    } else {if(($b = gi $_.fullname).extension -notlike '.log*'){$b}}
}|sort fullname| select fullname,psiscontainer,length
 
"`nKDE777"
 
dir C:\1\3 -rec | ? FullName -NotMatch "$([regex]::Escape($root))\\(Temp$|Temp\\)" |% {
    if ($_.PSIsContainer) {if (!(dir $_.FullName)) {$_}}
    else                  {$_ | ? Extension -NotLike '*.log*'}} | sort FullName | select FullName,PSIsContainer,Length
Кликните здесь для просмотра всего текста
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
FullName                                        PSIsContainer Length
--------                                        ------------- ------
C:\1\3\1.log                                            False      0
C:\1\3\1.txt                                            False      1
C:\1\3\A                                                 True
C:\1\3\A\1.log                                          False      0
C:\1\3\A\1.txt                                          False      1
C:\1\3\B                                                 True
C:\1\3\C                                                 True
C:\1\3\C\1.txt                                          False      1
C:\1\3\C\E                                               True
C:\1\3\ert.txt                                          False      1
C:\1\3\qwerty.logotype                                   True
C:\1\3\qwerty.logotype\temp                              True
C:\1\3\qwerty.logotype\temp\qwerty.ttt                  False      1
C:\1\3\qwerty.logotype\temp\TESTTTTT                     True
C:\1\3\qwerty.logotype\temp\TESTTTTT\12345               True
C:\1\3\qwerty.logotype\temp\TESTTTTT\qwerty.ttt         False      1
C:\1\3\qwerty.logotype\test.txt                         False      1
C:\1\3\temp                                              True
C:\1\3\temp.2                                            True
C:\1\3\temp.2\test.logo                                 False      0
C:\1\3\temp.2\test.txt                                  False      1
C:\1\3\temp.ext                                         False      0
C:\1\3\temp\1.log                                       False      0
C:\1\3\temp\1.txt                                       False      0
C:\1\3\temp\ert.txt                                     False      1
C:\1\3\temp\temp                                        False      0
C:\1\3\temp\ttt                                          True
C:\1\3\test.logo                                        False      0
 
YuS_2
C:\1\3\1.txt                                            False      1
C:\1\3\A\1.txt                                          False      1
C:\1\3\B                                                 True
C:\1\3\C\1.txt                                          False      1
C:\1\3\C\E                                               True
C:\1\3\ert.txt                                          False      1
C:\1\3\qwerty.logotype\temp                              True
C:\1\3\qwerty.logotype\temp\qwerty.ttt                  False      1
C:\1\3\qwerty.logotype\temp\TESTTTTT                     True
C:\1\3\qwerty.logotype\temp\TESTTTTT\12345               True
C:\1\3\qwerty.logotype\temp\TESTTTTT\qwerty.ttt         False      1
C:\1\3\qwerty.logotype\test.txt                         False      1
C:\1\3\temp.2\test.txt                                  False      1
C:\1\3\temp.ext                                         False      0
 
KDE777
C:\1\3\1.txt                                            False      1
C:\1\3\A\1.txt                                          False      1
C:\1\3\B                                                 True
C:\1\3\C\1.txt                                          False      1
C:\1\3\C\E                                               True
C:\1\3\ert.txt                                          False      1
C:\1\3\qwerty.logotype\test.txt                         False      1
C:\1\3\temp.2\test.txt                                  False      1
C:\1\3\temp.ext                                         False      0

- явно, недостает каталогов и файлов...

Добавлено через 4 минуты
Цитата Сообщение от KDE777 Посмотреть сообщение
У каталога дочерние Item'сы - файлы и подкаталоги, а какие дочерние Item'сы у файла?
Не могу не согласится, но, тем не менее, это не дает право командлету, вместо дочерних итемов, заглядывать в сестринские (или братские ) каталоги, об этом его точно не просили...

Цитата Сообщение от KDE777 Посмотреть сообщение
на исключения надейся, а тщательно тестировать всевозможные варианты не забывай
Согласен... безусловно.
0
 Аватар для KDE777
1886 / 1108 / 428
Регистрация: 22.01.2016
Сообщений: 3,050
21.01.2019, 21:46
Цитата Сообщение от YuS_2 Посмотреть сообщение
явно, недостает каталогов и файлов...
А вы переменную $root куда дели? Верните, всё как было

PowerShell
1
$root = 'C:\1\3'
Добавлено через 2 минуты
Цитата Сообщение от YuS_2 Посмотреть сообщение
не дает право командлету, вместо дочерних итемов, заглядывать в сестринские (или братские ) каталоги, об этом его точно не просили...
Вообще то просили: -Recurse, чем и вызвали когнитивный диссонанс
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
21.01.2019, 21:46
Помогаю со студенческими работами здесь

Список всех файлов и папок указанной директории по заданной маске
Здравствуйте! Требуется написать программу, используя FileNameFilter которая выведет на экран список всех файлов и папок указанной...

Как получить список таблиц по маске из нескольких баз данных?
Просьба помочь решить проблему, сам не осилю: Есть база mybase.mdb (access 2003). В корневой директории есть папка /import , а в ней...

Замена фразы по маске на другую фразу по маске в файле
Добрый день! Имеется задача, которую, к сожалению, пока не могу реализовать: Есть текстовый файл состоящий из множества строк. В нем...

Копирование файлов в папки по маске файла и маске папки
Добрый день! Товарищи, помогите. Возникла надобность раскладывать файлы по маске папки и маске файла. То есть, расскажу детальней, есть...

Имеется список женихов и список невест. Объединить эти списки в список пар с учетом требований партнерам
Имеется список женихов и список невест. Каждая запись списка содержит пол, имя, возраст, рост, вес, а также требования к партнеру:...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США. Нашел на реддите интересную статью под названием «Кто-нибудь знает, где получить бесплатный компьютер или. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru