Procurando pelo comando para executar diálogo / prompt para abrir o diretório do usuário atual

1

No prompt de comando, se eu digitar o comando start . , ele simplesmente abrirá o diretório do usuário atual C:\Users\<current user name> no windows 7. Mas esse comando não funciona no prompt de execução do Windows. Alguém pode me ajudar com esse comando se ele existir para abrir o diretório do usuário atual diretamente do prompt de execução? Atualmente eu tenho que abrir o prompt de comando primeiro, então eu tenho que digitar este comando para abrir o diretório desejado no Windows Explorer.

Atualização : percebi que o comando start . do prompt de comando não abre o diretório de perfil inicial do usuário sempre. Acontece somente se o diretório de trabalho atual no prompt do shell for igual ao diretório de perfil inicial do usuário atual. Então, se eu estivesse em D:\ no prompt do meu shell, ele teria aberto D:\ no explorador no lugar de C:\users\<current user name>

    
por RBT 20.11.2016 / 04:06

3 respostas

1

Por que não usar simplesmente a variável de ambiente %USERPROFILE% ?

Não é necessário iniciar nenhum processo ( CMD.EXE ou qualquer outro) apenas para abrir a pasta padrão do usuário.

    
por 12.07.2017 / 11:47
2

O comando start é interno para cmd . Quando você digita um comando em cmd , ele será:

  • um programa executável (geralmente .exe , mas às vezes com outras extensões);
  • um arquivo em lote ( .bat ou .cmd ); ou
  • um comando interno, tratado dentro do próprio código cmd .

Todos estes são tratados de forma diferente pelo Explorer e pelo comando de execução do Windows ( Win + r ): -

  • Um arquivo executável é reconhecido como tal e executado imediatamente.
  • A extensão de um arquivo em lotes é reconhecida como vinculada a cmd , que está agendada para executá-lo.
  • O Windows não reconhece os comandos internos de cmd (ou qualquer outro programa interativo), portanto, se você digitar um deles na caixa de comando Executar, ocorrerá um erro "não foi possível encontrar".

Os comandos cmd internos podem ser executados a partir da caixa de execução, mas você precisa dizer ao Windows para executar cmd explicitamente. Para o seu comando, você digitaria:

cmd /c start .

Observe que isso usará o diretório atual para o ambiente de comando de execução, não o diretório em cmd , que, por padrão, inicia em seu diretório inicial.

A maioria dos comandos na lista de ajuda cmd é interna, embora alguns, como find , sort e diskpart , sejam programas externos ( find.exe , etc), portanto, não há necessidade para precedê-los com cmd /c na caixa de execução: o Windows os reconhecerá como utilitários de linha de comando e criará um shell de comando no qual eles serão executados.

Sempre que cmd estiver agendado para executar um comando (explicitamente ou explicitamente), ele terá vida curta, a menos que o comando interaja com o usuário, embora outros programas iniciados durante sua execução possam persistir (como acontece com o start comando).

    
por 20.11.2016 / 15:36
0

Para compensar uma omissão em (quase exaustiva) resposta do AFH : em uma caixa de diálogo do Windows Run (chamada por Win + r ), um ponto final . funcionaria exatamente como recomendado cmd /c start .

No entanto, não testei o comportamento exato de usar . no caso de cmd e cmd /D usarem o diretório de trabalho diferente, ou seja, se o último for alterado por um comando de Execução Automática do Registro; para detalhes, consulte cmd /? .

    
por 20.11.2016 / 16:04