|
Как получить параметры из предыдущей команды в PowerShell |
☑ |
0
ogion83
27.08.24
✎
10:36
|
Пытаюсь разобраться в PowerShell. Нужно найти в папке архивы с определенным расширением, создать в другом разделе папку с именем архива и туда его разархивировать.
Вот файлы нахожу, а как задать в следующей команде имя файла взяв его из найденного файла?
Get-ChildItem -Path "D:\IshArch\*" -Include "*.091" | New-Item -Path 'D:\GFiles\91\ ИМЯ ФАЙЛА' -ItemType Directory
|
|
1
ogion83
27.08.24
✎
10:56
|
как то вроде можно через $_ ?
|
|
3
katamoto
27.08.24
✎
11:04
|
Навскидку что-то вроде такого: Get-ChildItem -Path "D:\IshArch\*" -Include "*.091" | foreach {New-Item -Path "D:\GFiles\91\$($_.name)" -ItemType Directory}
|
|
4
ogion83
27.08.24
✎
15:11
|
(3) Сработало, благодарю. А можно как то взять имя файла без расширения?
|
|
5
ogion83
27.08.24
✎
15:25
|
Или придется как со строкой поступить: $_.Name.Remove($_.Name.IndexOf('.'))
|
|
6
Волшебник
27.08.24
✎
15:27
|
(5) только точку надо искать с конца. В имени файла может быть несколько точек
|
|
7
katamoto
27.08.24
✎
16:46
|
(4) $_.basename место $_.name
|
|
8
ogion83
29.08.24
✎
11:50
|
(7) Благодарствую
|
|