Existe um comando de linha de comando do Windows que eu possa usar para obter o caminho completo para o diretório de trabalho atual?
Além disso, como posso armazenar esse caminho dentro de uma variável usada em um arquivo em lotes?
windows
batch-file
command-line
cmd
user62958
fonte
fonte
Respostas:
Use
cd
sem argumentos se estiver usando o shell diretamente ou%cd%
se desejar usá-lo em um arquivo em lotes (ele se comporta como uma variável de ambiente).fonte
Você pode definir uma variável de lote / ambiente da seguinte maneira:
amostra de captura de tela de um Windows 7 x64 cmd.exe.
Atualização: se você fizer um em
SET var = %cd%
vez deSET var=%cd%
, abaixo está o que acontece. Graças a jeb.Capturando o diretório atual de um arquivo em lotes
fonte
SET var = %cd%
colocar o valor na variávelvar<space>
não inseridavar
. Você deve evitar espaços no comando SETCite a ajuda do Windows para o
set
comando (set /?
):Observe a
%CD% - expands to the current directory string.
parte.fonte
No Unix?
pwd
fonte
Para Windows, podemos usar
cd
e para Linux
pwd
comando está lá.
fonte
Isto sempre funcionou para mim:
fonte
Para Windows,
cd
por si só, mostrará o diretório de trabalho atual.Para UNIX e sistemas semelhantes,
pwd
executará a mesma tarefa. Você também pode usar a$PWD
variável shell sob algumas conchas. Não tenho certeza se o Windows oferece suporte à obtenção do diretório de trabalho atual por meio de uma variável de shell ou não.fonte
%cd%
No Windows:
CHDIR Exibe o nome ou altera o diretório atual.
No Linux:
PWD Exibe o nome do diretório atual.
fonte
Com base na pergunta de acompanhamento (armazene os dados em uma variável) nos comentários da postagem do chdir, aposto que ele deseja armazenar o caminho atual para restaurá-lo após alterar os diretórios.
O usuário original deve consultar "pushd", que altera o diretório e coloca o atual em uma pilha que pode ser restaurada com um "popd". Em qualquer shell cmd moderno do Windows, esse é o caminho a seguir ao criar arquivos em lote.
Se você realmente precisar pegar o caminho atual, os shells modernos do cmd também terão uma variável% CD% que poderá ser facilmente armazenada em outra variável para referência.
fonte
Criar um
.bat
em arquivoSystem32
, vamos nomeá-locopypath.bat
do comando para copiar caminho atual poderia ser :Explicação:
%cd%
fornecerá o caminho atualAgora
copyclip
está disponível em qualquer lugar.fonte
Mas, é claro , a resposta de gmaran23 é a mais fácil.
fonte
tokens=*
corrige isso.Em um prompt de comando do Windows,
chdir
oucd
imprimirá o caminho completo do diretório de trabalho atual no console.Se queremos copiar o caminho então podemos usar:
cd | clip
.fonte
No Windows, digite
cd
o caminho atual de trabalho.No Linux,
pwd
para o caminho de trabalho atual.fonte
Como um dos códigos possíveis
fonte