Comando Batch para mover todos os arquivos de determinada extensão

2

Eu tenho um script que usa o 7zip para extrair todos os arquivos rar, o que é ótimo.

O único problema é que eu tenho que percorrer as pastas manualmente e mover os arquivos .avi ou .mkv.

O script que estou usando no momento

FOR /D /r %%F in ("*") DO (
    pushd %CD%
    cd %%F
        FOR %%X in (*.rar *.zip) DO (
            "C:\Program Files-zipz.exe" x %%X
        )
    popd
)

Minha configuração atual:

D: \ rared \ carrega nomes de pastas, então eu movo todos para D: \ rared \ extracted

Existe uma maneira de modificar o primeiro script ou apenas escrever outro para mover todos os arquivos em todos os subdiretórios para a pasta extraída?

    
por Phil 02.02.2013 / 09:11

2 respostas

0

Tente alterar a linha de comando 7z que você tem, adicionando -oD: \ rared \ extracted

Então, "C:\Program Files-zipz.exe" x %%X
torna-se   "C:\Program Files-zipz.exe" x %%X -oD:\rared\extracted

    
por 02.02.2013 / 11:42
0

Desculpe, estou atrasado. Abaixo está o que eu faria. Eu configurei o tamanho do arquivo mínimo de 12.345KB para evitar todos os clipes de amostra irritantes (ajuste como quiser). Eu não tenho absolutamente nenhuma maneira de testá-lo porque eu uso rar.exe, o e / x não deveria importar. Deixe-me saber se isso funciona para você ou se você quiser algum outro recurso ou se você tem algum s

SetLocal
Set BaseDir     =D:\Rars\
Set TempDir     =D:\rared\extracted\
Set GoodStuff   =D:\GoodStuffToWatch\
Set MinFileSize =12345

FOR /R %BaseDir% %%F in (*.RAR *.ZIP) DO "C:\Program Files-zipz.exe" x "%%~fF" -o%TempDir%
FOR /R %TempDir% %%G in (*.AVI *.MKV) DO IF %%~zG GTR %MinFileSize% Move "%%~fG" %GoodSTufF%
    
por 02.02.2013 / 13:21

Tags