Я абсолютно ничего не понимаю, когда дело доходит до powershell, но после загрузки огромного потока, полного подкаталогов (по сути, "publisher.title.author.year"), каждый из которых содержит один или несколько zip-файлов, каждый из которых при распаковке содержал частьмногофайлового архива rar и, наконец, когда-то собранного, который содержал (без названия) файл pdf ...
, поэтому я придумал этот грубый и готовый скрипт для повторения в каждом подкаталоге, разархивировал zip-файлы вэтот каталог, затем соберите rar-файлы и извлеките pdf в этот каталог, затем переименуйте pdf с именем каталога и переместите его вверх по каталогу (так что к концу я получил базовый каталог, полный значимых имен pdf-файлов...
в любом случае - как я уже говорил, у меня буквально нет знаний о PowerShell, поэтому я в основном публикую это, потому что потратил впустую два часа на написание (я мог бы сделать это за 5-10 минут в Python или Perl: P) и потому что, если он в сети, я мог бы на самом деле найти его снова, если мне нужнохе-хе
$subdirs = Get-ChildItem | ?{$_.Attributes -match 'Directory'}
foreach ($dir in $subdirs) {
cd $dir
$zip get-childitem | where {$_.Extension -match "zip"}
C:\7z.exe x -y $zip.FullName
$rar = get-childitem | where { $_.Extension -match "rar"}
C:\7z.exe x -y $rar
$pwd = get-item .
$newname = $pwd.basename+".pdf"
get-childitem *.pdf | rename-item -newname $newname
move-item $newname ..\
cd ..
}