Renomeação de vários arquivos

0

Eu sou um novato em PowerShell. Eu obtive os nomes dos arquivos em uma pasta usando o cmdlet Get-ChildItem .

Os nomes seguem este esquema:

video_536_640Seg1-Frag3
video_536_640Seg1-Frag4
video_536_640Seg1-Frag7

A saída desejada é fazer com que os arquivos sigam este esquema:

Frag3-video_536_640Seg1
Frag4-video_536_640Seg1

Isso pode ser conseguido dividindo cada nome de arquivo pelo hífen e, em seguida, alternando a ordem de cada parte dividida.

Eu tentei dividir usando -split ,

$items = $files -split "-"

mas cada componente é enviado para um índice de matriz diferente e não consegui classificar os índices.

    
por user1801060 14.10.2016 / 16:48

1 resposta

1

Esta não é uma solução idealmente elegante, mas lhe dará uma visão sobre como abordar futuros problemas que você enfrenta com o Powershell (ao mesmo tempo em que prova uma resposta válida). Você precisará atualizar a extensão para realmente corresponder aos seus arquivos de vídeo.

# change below to match the file extension of the video files
$extension = ".mp4"
$files = gci *$extension

ForEach ($file in $files) {
    # get everything before "-"
    $a = ($file.BaseName).split('-')[0]

    # get everything after "-"
    $b = ($file.BaseName).split('-')[1]

    # setup the desired name format
    $fixed = $b + "-" + $a + $extension

    # rename the files
    Rename-Item $file $fixed
}
    
por 14.10.2016 / 18:35

Tags