Operações com vários arquivos de diretório

0

No Windows, eu gostaria de usar algum tipo de arquivo em lote para descompactar arquivos em vários diretórios de uma só vez.

Por exemplo:

Initial directory

--Foo1

----file1.zip

--Foo2

----Foo2.zip

O script seria executado com o Foo como o diretório inicial e procuraria pelo subdiretório disponível e extrairia todos os arquivos desse diretório.

    
por larrymachine 17.09.2010 / 06:11

2 respostas

0

Você deseja o comando FOR com o parâmetro /R :

FOR /R [[drive:]path] %variable IN (set) DO command [command-parameters]

    Walks the directory tree rooted at [drive:]path, executing the FOR
    statement in each directory of the tree.  If no directory
    specification is specified after /R then the current directory is
    assumed.  If set is just a single period (.) character then it
    will just enumerate the directory tree.

Digite help for no Prompt de Comando para obter detalhes completos sobre o uso.

E lembre-se, se você usar variáveis em um script, precisará usar %% em vez de%.

    
por 17.09.2010 / 07:29
1

Veja como eu fiz:

@setlocal
@echo off
set path="C:\Program Files\WinRAR\";%path%
for /F %%i in ('dir /s/b *.rar') do call :do_extract "%%i"
goto :eof

:do_extract
echo %1
mkdir %~1.extracted
pushd %~1.extracted
unrar e %1
popd
    
por 18.09.2010 / 02:30