Como abrir o prompt de comando em uma pasta específica como administrador?

37

Fiz um atalho para o cmd.exe e especifiquei a pasta na qual desejo iniciar. Depois fui para Avançado e marquei Executar como administrador .

Quando clico duas vezes no atalho, ele sempre inicia C:\Windows\System32.

O que estou perdendo? Como posso obter a linha de comando para iniciar na pasta especificada?

propriedades de atalho

o prompt, no System32

AngryHacker
fonte

Respostas:

36

No destino, você deve especificar cmd /k cd c:\crp

barlop
fonte
7
Em vez de cd, use pushd; também funcionará em outras unidades que não sejam c: e até compartilhamentos unc.
ths
2
Para tornar o status do administrador mais visível, é possível definir o título e a cor da janela. Exemplo: `cmd.exe / K title Elevated && color 1a && cd / D c:`
Axel Kemper
2
@ths pushd funciona para unc onde o cd não funciona. Mas sua pequena sugestão de que o CD não será alterado para outras unidades está incorreta, consulte cd / d (como você provavelmente sabe).
barlop
cd / d ainda não pode cobrir caminhos UNC ... assim um ponto discutível, na verdade
JasonXA
@JasonXA que já foi comentado no comentário logo acima do seu, bem como no primeiro comentário.
barlop
47

Se você quiser o raciocínio por trás dele, ele Start inserá explicitamente ignorado quando a elevação for executada (apenas em binários que fazem parte do próprio Windows) para proteger contra uma possível vulnerabilidade de segurança.

A idéia básica é que as DLLs potencialmente maliciosas localizadas no diretório de trabalho possam ser controladas por um usuário que não seja o administrador atual e, em seguida, podem ser carregadas com altos privilégios. Para evitar isso, o UAC redefinirá o diretório de trabalho. Como os atalhos "Iniciar" são definidos antes da elevação, isso é redefinido durante a elevação. Em um mundo ideal, essa proteção se aplicaria a todas as elevações, mas se aplica apenas aos binários internos do Windows, pois interrompe alguns programas de terceiros que esperam que o diretório de trabalho seja preservado.

As outras respostas ignoram isso dizendo ao elevado cmdpara alterar seu diretório de trabalho após a elevação, via /kargumento.

Prumo
fonte
3
+1 por explicar o motivo, eu sempre pensei que era um bug, lol.
ModiX 21/04
28

Dentro do Explorer, existe uma barra de ferramentas de acesso rápido (QAT) desde a introdução da faixa de opções no Windows 8. Clique em File-> open CMD prompt-> Open CMD prompt as admine clique com o botão direito do mouse e selecione fixá-lo no QAT.

insira a descrição da imagem aqui

Agora você pode clicar neste ícone em todas as pastas que desejar e o cmd agora será aberto nessa pasta.

insira a descrição da imagem aqui

Para executar o cmd como administrador mais rapidamente no QAT, pressione a ALTtecla e você verá um número para a posição no QAT.

insira a descrição da imagem aqui

Se você agora pressionar o número, a ferramenta nesta posição será iniciada (no meu caso 4 executa o cmd como admin).

magicandre1981
fonte
Isso pode ser transformado em um atalho?
2
@ Mestre, pressione a tecla ALT e você verá um número para a posição no QAT. Se você pressionar agora o número da ferramenta nesta posição é iniciado
magicandre1981
3
isso é perfeito solução :)
Aaron
Hack louco! No Windows 10, você pode usar em powershellvez da cmdopção.
Paramvir Singh Karwal 19/09
@ParamvirSinghKarwal sim, no Win10, a Microsoft removeu o cmd aberto e substituiu a entrada do cmd pelo powershell desde a versão 1703 da atualização
magicandre1981
8

Barlop está correto. Se você adicionar /k cd "\path\to\folder"ao campo Destino (depois cmd.exe), a janela Prompt de Comando resultante executará o cdcomando e o deixará com uma solicitação para fazer o que quiser. Se você precisar mudar para uma unidade diferente , precisará, cd /de não apenas cd. Se você precisar alterar para uma unidade de rede, use-a pushd- ela monta automaticamente o caminho UNC de destino como uma unidade e muda para ele.

A /kmudança para cmdmeios "fazer isso de comando e k eep o prompt aberto." Tudo após o /ké tratado como um comando literal, para que você não precise se preocupar em escapar. Você pode usar &&para executar vários comandos: cd "\path\to\folder" && echo Hi!produzirá um prompt nesse diretório com Hi!impresso na parte superior.

O equivalente de /kque não manter o prompt de volta é /c(para "executar este c ommand").

Ben N
fonte
3

Na verdade, não é isso que você está pedindo, mas quando eu entendi direito, isso alcançará o que você tenta contornar. tente shift+ rightclickna pasta específica e selecione open command window here. Caso esse não seja o seu problema, avise-me e removerei isso.

E (graças a Bob; não sabia disso antes) também é possível fazer isso elevado.

Fonte do comentário de Bob .

[...] Enquanto estamos aqui, também podemos adicionar as chaves necessárias para abrir um prompt elevado de cada letra de unidade anexada ao sistema. Isso pode ser feito facilmente adicionando uma entrada no registro. Então copie / cole o texto abaixo em um arquivo de texto e atribua a ele um nome como “admin.reg” e clique duas vezes nele.

Windows Registry Editor Version 5.00    
[-HKEY_CLASSES_ROOT\Directory\shell\runas]       
[HKEY_CLASSES_ROOT\Directory\shell\runas]  @="Open command window here as Administrator"  "HasLUAShield"=""    
[HKEY_CLASSES_ROOT\Directory\shell\runas\command]  @="cmd.exe /s /k pushd \"%V\""    
[-HKEY_CLASSES_ROOT\Directory\Background\shell\runas]    
[HKEY_CLASSES_ROOT\Directory\Background\shell\runas]  @="Open command window here as Administrator"  "HasLUAShield"="" 
[HKEY_CLASSES_ROOT\Directory\Background\shell\runas\command]  @="cmd.exe /s /k pushd \"%V\""    
[-HKEY_CLASSES_ROOT\Drive\shell\runas]    
[HKEY_CLASSES_ROOT\Drive\shell\runas]  @="Open command window here as Administrator"  "HasLUAShield"=""    
[HKEY_CLASSES_ROOT\Drive\shell\runas\command]  @="cmd.exe /s /k pushd \"%V\""

Agora, se você clicar com o botão direito do mouse em qualquer pasta, verá as duas opções.

Zaibis
fonte
Este foi o primeiro pensamento que tive, mas não é a questão.
Raystafarian
se tivéssemos uma maneira de fazer isso elevado, eu ficaria feliz.
ths
1
Você pode adicionar a opção.
Bob
1
obrigado @Bob, com a tecla "Extended", ele também estará no menu shift-click.
ths
@Raystafarian: Eu sei, e me sinto meio desagradável ao responder ao estar ciente disso. Eu pude entender as pessoas que votaram contra por causa disso. Mas, por outro lado, eu poderia imaginar que muitas pessoas que acham esse OP por pesquisa na web poderiam ficar ainda mais confortáveis ​​com essa solução para suas necessidades. É também por isso que eu não deixei isso como comentário para o OP, pois esse mais tarde pode ser removido.
Zaibis
1

Para qualquer pessoa, como eu, que se deparou com isso ao tentar abrir o cmd como administrador em uma unidade separada ("E:" no meu caso), pode ter problemas ao tentar cd E:/somedirou algo parecido. Fazer isso não mudará o diretório para a nova unidade.

Se esse é o seu problema e você só precisa usar o cmd como administrador em uma unidade diferente , a sintaxe do cmd é realmente apenas E:(ou qualquer letra da unidade), sem nenhum cdcomando.

Então você pode apenas:

  1. Pesquisa Windows> "cmd"> Clique com o botão direito do mouse> Executar como Administrador
  2. Basta digitar E:(ou a letra da unidade que você deseja alternar seguida por dois pontos)
Broper
fonte
1

Se você precisar iniciar a partir de uma unidade diferente (por exemplo, D: \ something) da unidade do sistema (por exemplo, C: \ Windows \ system32), poderá colocar o seguinte no campo "Destino":

cmd /k "cd /d D:\<your directory here>"

A chave aqui é adicionar a /dopção na frente do seu cd.

youngrrrr
fonte
0

Quando você abre o prompt de comando como administrador e ele mostra "C: \ Windows \ System32", basta digitar "cd .." e ele leva um diretório que será "C: \ Windows" . Repita "cd .." novamente para ir para "C: \", de onde você pode agora "cd Users / name / folder"

LordKiz
fonte
2
Vamos lá de verdade ... Se você quiser colocar uma resposta assim, aprenda como adicionar muito mais detalhes e ser mais claro. Se você tem uma maneira mais rápida de fazer isso do que o que já foi especificado em outras respostas, por que não mostrá-lo com alguns detalhes mais claros? Eu posso pensar em uma maneira, mas não vou fazer o seu trabalho para você, mas poderia facilmente fazer uma resposta legítima disso e torná-la realmente aceitável ... facilmente ... apenas digite, leia, teste, aprenda etc. Vamos lá, Kligmaker de verdade, você não pode fazer melhor do que isso com a sua ideia?
Pimp Juice IT