Arquivo em lote com letras de unidade variáveis

1

Meu objetivo é criar um arquivo em lotes que irá extrair o conteúdo de um arquivo zip para um diretório separado. Todos os arquivos relacionados a essa pergunta estão no mesmo pen drive.

O seguinte comando funciona bem com a letra da unidade i:\

**i:z x i:\zips\new_app.zip -oi:\apps\new_app**

O que acontece se eu colocar a unidade flash em um computador diferente e a letra da unidade NÃO for i:\ , mas f:\ ou g:\ ou q:\

Existe algum tipo de variável que eu possa criar?

    
por user216384 12.04.2013 / 05:44

3 respostas

2

Substitua I:\ por %CD% . A variável %CD% environmental contém o caminho do diretório atual.

%CD%z x %CD%\zips\new_app.zip -o%CD%\apps\new_app

Ao clicar duas vezes no arquivo de lote, ele é iniciado no diretório em que ele reside. Se o arquivo de lote estiver na raiz do pendrive, %CD% será definido como I:\ ou qualquer outra letra do drive USB foi montado como.

    
por 12.04.2013 / 05:52
0

Se você executar o arquivo .BAT a partir da unidade USB, não será necessário especificar a letra da unidade, apenas o caminho e / ou arquivo relativo ao arquivo .BAT.

Exemplo: Se o Unzip.BAT estiver na raiz da unidade USB e o arquivo .zip estiver em uma pasta chamada "documentos classificados" em uma pasta chamada "secret", ele será

\secret\classified docs\
    
por 12.04.2013 / 05:51
0

Esse design pode ser usado na estrutura de pastas:

"%cd:~0,2%\<full path>"
    
por 13.04.2013 / 18:35