Comando Net Use com caminho de destino relativo

1

Eu tenho um arquivo de lote localizado em várias pastas e neste arquivo eu preciso substituir o antigo comando subst T: . para net use porque as unidades (unidades) têm propriedades diferentes no windows 7.

No entanto, descobri que net use apenas permite caminhos absolutos, como:

net use T: \path\to\folder

Não consigo trabalhar com caminhos absolutos, mas net use T: . não é permitido (gera um erro).

Existe uma maneira de executar o comando net use de uma pasta para que ele use o diretório .bat atual?

Acho que a melhor solução para mim seria conseguir o caminho absoluto qualificado (\ path \ to \ folder) com um comando batch. (% cd% e variáveis chdir não funcionam neste caso). Perguntas sobre como obter o diretório atual ou o nome da pasta não são úteis, pois o comando net use não permite caminhos como x:\path\to\folder

    
por Jorge 18.01.2016 / 16:49

1 resposta

1

O %~dp0 fornecerá exatamente o que você está pedindo (por exemplo, \server\share\to\folder ). Mas você não pode usá-lo para o seu comando net use . O comando net use aceita somente a parte \server\share para criar uma letra de unidade.

Você pode fazer algum trabalho para retirar a \to\folder -part e adicioná-la posteriormente em seus arquivos em lote, mas talvez seja melhor usar o comando pushd \server\share\to\folder . Com esse comando, é criada uma letra de driver temporária e o diretório atual é automaticamente alterado para a pasta correta. Com o comando popd , você está de volta ao ponto de partida e a unidade temporária é liberada.

Então:

C:\>

C:\>pushd \wdmycloud\public\new folder

Z:\New folder>::do your thing
Z:\New folder>
Z:\New folder>popd

C:\>

B.T.W. Se você precisar descobrir qual unidade temporária é criada, use o %~d0 em seus arquivos em lote. E %~dp0 para o caminho completo, e assim por diante (ou %cd% claro:)).

    
por 18.01.2016 / 16:59