Мне нужно получить список файлов * .jpg, содержащихся в следующих подпапках: F:\189\recieved\toM_Ich
, с папкой:
F:\189\recieved\toM_Ich\toM_Ich.txt
Я решаю первую половину задачи, используя этот скрипт:
$folders = Get-ChildItem F:\189\recieved -Directory *_*
foreach ($folder in $folders) {
$files = Get-ChildItem $folder -name -Include *.jpg | out-file $_$folder.txt
}
Текстовые файлы перечислены правильно и содержат папки, но файлы в F:\189\recieved
находятся не в папке, как описано.
Я пробовал таким образом, но он возвращает ошибки:
Set-Location F:\189\recieved\
$folders = Get-ChildItem -Directory *_*
foreach ($folder in $folders) {
$files = Get-ChildItem $folder -name -Include *.jpg | out-file $_$folder.txt
}
$ParentDir = Get-ChildItem F:\189\recieved\ | Where-Object {$_.PSIsContainer -eq $True}
ForEach ($SubDir in $ParentDir) {
$SubDirName = $SubDir.Name
ForEach ($File in $(Get-ChildItem $SubDir.FullName)) {
If ($File.Name -match $SubDir.FullName) {
Move-Item $File.Name $SubDirName
}
}
}
Как мне решить эту проблему?
ОБНОВЛЕНО:
ОШИБКА ЖУРНАЛА ТЕРМИНАЛОВ
выполняется разбор "F: \ 189 \ recceive \ maN_Enl"- Нераспознанная esc-последовательность \ m.строка: 18 знак: 13 + If ($ File.Name -match $ SubDir.FullName) {+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo: OperationStopped: (:) [], ArgumentException + FullyQualifiedErrorId: System.ArgumentException
И его блок повторяется миллиард раз для всех подпапок (я отметил его BOLD ) Я хотел добавить скриншоты, но у меня нет на это прав.