Execute as pastas especiais da caixa [duplicado]

6

Depois de ler uma resposta , aprendi que certas pastas têm um recurso especial

USERPROFILE AKA C:\Users\Steven
SystemRoot  AKA C:\Windows

Na caixa Executar , você pode acessar qualquer subpastas destes. Por exemplo, inserir Documents abrirá %código%. Alguma outra pasta tem esse recurso, ou isso pode recurso ser adicionado a uma pasta?

    
por Steven Penny 15.10.2014 / 07:12

3 respostas

2

A caixa Executar do Windows tenta invocar o método Shell.ShellExecute (operação padrão do tipo de arquivo registrado) para o arquivo especificado pelo texto no campo de entrada, ou seja, no diretório atual, que é %USERPROFILE% !

Suponha que escrevamos MyLoc Sets aqui e atingimos Enter .

Primeiramente, a palavra MyLoc deveria ser um comando. A concha procura por uma variante executável, por ex. MyLoc.com , MyLoc.exe , MyLoc.bat , MyLoc.cmd , ... no diretório atual, em seguida, nos diretórios especificados pela variável ambiental %PATH% , então por \SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\Myloc.exe chave de registro em HKEY_CURRENT_USER e HKEY_LOCAL_MACHINE hives. Como último recurso, o shell pesquisa a pasta MyLoc Sets nos mesmos locais (exceto do registro). Erro Arquivo não encontrado ...

E agora, tente Local Settings : não encontrou nenhum executável chamado Local , mas encontrei uma pasta com esse nome em %USERPROFILE% ! Assim, como uma pasta é registrada tipo de arquivo e a operação padrão para uma pasta que costumava ser " Explorar ", ela pode ser executada pelo método ShellExecute ...

    
por 18.10.2014 / 03:42
3

Como Arakel disse, há aqui dois recursos não relacionados:

  1. Variáveis de ambiente que são usadas como %variable% , por exemplo %USERPROFILE%
  2. Comandos que são inseridos sem %...% , por exemplo, documents .

Na verdade, os primeiros são apenas macros que possuem valores. A sintaxe %...% apenas converte o nome da variável em texto, e este texto é então executado como se tivesse sido digitado na caixa Executar.

O texto digitado é pesquisado primeiro nas pastas especificadas pela variável ambiental PATH e em %USERPROFILE% . Neste caso, todo o texto digitado deve ser igual ao nome da pasta. Exemplos aqui são "documentos" para C:\Users\<user>\Documents ou "vídeos" para C:\Users\<user>\Videos .

Se uma pasta com esse nome não foi encontrada, a primeira palavra digitada na caixa é tomada como um comando, enquanto as seguintes são são considerados parâmetros. Palavras que contêm separadores, como espaços em branco, precisam ser citadas.

Se o nome do comando digitado não corresponder a um nome de pasta, o Windows tentará localizar um nome de pasta. executável no PATH que tem esse nome exato. Se o comando não tiver um sufixo, O Windows tentará todos os sufixos executáveis, como .exe ou .bat (e mais alguns). Existem virtualmente centenas de nomes de comandos que podem ser inseridos desta forma.

Por exemplo, digitar calc iniciará a calculadora do Windows, que é o arquivo executável C:\Windows\System32\calc.exe , porque C:\Windows\System32 está no PATH.

É possível criar os próprios comandos Executar, desta forma:

  1. Win + R para abrir o diálogo Executar
  2. Insira %windir% para abrir o diretório do Windows
  3. Alt + F W S para abrir o menu Arquivo, escolha o item de menu Novo e, em seguida, o item de menu de atalho
  4. Percorra o assistente para criar um atalho para o programa ou pasta desejada
  5. O nome que você dá ao atalho é o que você digitará na caixa Executar para iniciar o programa.

Outro método é feito através do registro (não recomendado). A Microsoft chama de registro de aplicativos .

  1. Execute o Regedit e navegue até a seguinte chave:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths
    
  2. Clique com o botão direito do mouse na chave App Paths e selecione o comando Novo / Chave.

  3. Dê à nova chave um nome com o nome de 2 a 8 caracteres seguido por .exe
  4. Altere o valor se o item (Default) para o caminho completo para o programa.

Por exemplo, este arquivo de registro de amostra permite que um tipo ie na caixa Executar abra o Internet Explorer:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\ie.exe]
@="C:\Program Files\Internet Explorer\iexplore.exe"
    
por 17.10.2014 / 21:13
0

parece que a caixa de execução é apenas uma versão de gui do comando start com o valor padrão da opção /d %userprofile% que define o caminho para iniciar o diretório

como todos os outros comandos, ele reage às variáveis de ambiente especiais %path% , %pathext% etc

Além disso, ele entende o padrão para abrir diretamente páginas da web, por exemplo ctrl + r (ou start ) www.superuser.com abre o site com o aplicativo de navegador da web padrão , como sabe que o argumento é url desta vez

a parte interessante dessas variáveis de ambiente é a ordem dos itens na lista que eles contêm, pois é importante definir a prioridade de pesquisa e é importante quando se procura arquivos ou diretórios homônimos

    
por 17.10.2014 / 22:31