Powershell переименование и архивирование - PullRequest
0 голосов
/ 10 января 2020

Необходимо переименовать все файлы в одном и том же каталоге, используя powershell

Исходные файлы 1234_56789abc_t1_20201_0_4_0.pdf 1234_56788def_t2_20200_0._4_1.pdf

Переименованные файлы 1000_567892020.pf Кроме того, нужно заархивировать эти переименованные файлы в один zip-файл .. В этом я хочу извлечь 4 цифры года и впоследствии пренебречь всеми подчеркиваниями.

Пожалуйста, помогите ??

1 Ответ

1 голос
/ 10 января 2020

Попробуйте это:

$directory = Get-Item -Path 'D:\test\mypdf'

foreach( $file in $directory.GetFiles() ) {

    $newFileName = $file.Name -replace '^(.*_)t\d+(_.*)$', '$1tar$2'
    Move-Item -Path $file.FullName -Destination $newFileName -WhatIf | out-null
}

Compress-Archive -Path "$directory\*.*" -DestinationPath "$directory\archive.zip" -CompressionLevel Optimal -Force | out-null
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...