Windows renomeia arquivos recursivos

0

Estou um pouco preso aqui, criei um arquivo fácil para zipar pastas com um nome especial. Então, digamos que estamos procurando pastas com o nome "tozip", mas o nome do arquivo compactado deve ser o nome da subpasta + o nome da pasta. por exemplo. todos os arquivos em C: / test / somefolder / 123456 / tozip / * devem ser adicionados ao arquivo "123456_tozip.7z"

o que eu tenho atualmente é:

for /R /d /r %%i in (tozip*) do (
 7za a -tzip "%%i.7z" "%%i" -mx3
)

mas isso não adiciona o nome da pasta n-1 ao nome do arquivo. Eu vi, que eu posso extrair e. o nome do arquivo por %% ~ nxi ou o caminho completo, mas infelizmente não as informações que eu preciso. Alguma idéia sobre isso?

    
por Markus 03.11.2017 / 11:52

1 resposta

1

Você estava tão perto e até tem a ideia certa, mas precisa dar um passo além. Depois de encontrar o diretório tozip , você poderá colocar esse caminho em outro comando FOR para obter a pasta pai da pasta tozip .

Aqui está o código baseado no seu exemplo.

@echo off
for /D /R C:\test\ %%G in (tozip*) do (
    FOR %%H IN ("%%G\..") DO echo %%~nxH 
)
pause
    
por 04.11.2017 / 06:32