Por exemplo, quero adicionar o bloco de notas ++ ao meu PATH, no entanto, o diretório também contém uninstall.exe
vários outros arquivos / executáveis e não quero que eles "poluam" meu caminho. Posso apenas adicionar um notepad++.exe
?
Por exemplo, quero adicionar o bloco de notas ++ ao meu PATH, no entanto, o diretório também contém uninstall.exe
vários outros arquivos / executáveis e não quero que eles "poluam" meu caminho. Posso apenas adicionar um notepad++.exe
?
Respostas:
Você pode adicionar um script em lote a um diretório que esteja no seu caminho, parecido com este:
@echo off
:: Notepad++ execution
if [%1]==[-h] goto :HELP
if [%1]==[--help] goto :HELP
if [%1]==[/?] goto :HELP
goto :START
:START
start "" /i "%ProgramFiles(x86)%\notepad++\notepad++.exe" %*
goto :EOF
:HELP
echo -------------------------------
echo Notepad++ Command Argument Help
echo -------------------------------
echo Usage :
echo.
echo notepad++ [--help] [-multiInst] [-noPlugins] [-lLanguage] [-nLineNumber] [-cColumnNumber] [-xPos] [-yPos] [-nosession] [-notabbar] [-ro] [-systemtray] [-loadingTime] [fullFilePathName]
echo.
echo --help : This help message
echo -multiInst : Launch another Notepad++ instance
echo -noPlugins : Launch Notepad++ without loading any plugin
echo -l : Launch Notepad++ by applying indicated language to the file to open
echo -n : Launch Notepad++ by scrolling indicated line on the file to open
echo -c : Launch Notepad++ on scrolling indicated column on the file to open
echo -x : Launch Notepad++ by indicating its left side position on the screen
echo -y : Launch Notepad++ by indicating its top position on the screen
echo -nosession : Launch Notepad++ without any session
echo -notabbar : Launch Notepad++ without tabbar
echo -ro : Launch Notepad++ and make the file to open read only
echo -systemtray : Launch Notepad++ directly in system tray
echo -loadingTime : Display Notepad++ loading time
echo -alwaysOnTop : Make Notepad++ always on top
echo fullFilePathName : file name to open (absolute or relative path name)
echo.
goto :EOF
:EOF
Você pode nomear notepad++.cmd
. A seção de ajuda permite que você obtenha facilmente informações sobre os comutadores.
Coloquei todos esses scripts e programas de linha de comando em um diretório que é adicionado a %PATH%
:
C:\Users\Public\Command\
... e esse diretório é sincronizado com todos os computadores e máquinas virtuais.
Crie um arquivo em lotes com conteúdo como o seguinte:
@"C:\Program Files\Git\bin\git.exe" %*
Isso deve ser salvo como um .bat
arquivo, como git.bat
em um diretório que esteja no seu PATH
.
@
suprime o eco do comando no shell de chamada. As citações ""
impedem que o espaço em branco seja interpretado como delimitador de argumentos. %*
cola todos os argumentos no arquivo em lotes, no executável entre aspas.
Agora você pode chamar o executável usando a parte do nome do arquivo em lotes antes .bat
. No meu caso git
.
Referências:
start git
vez de fazê-lo por eles. O script em lote funcionaria melhor se exec
dsse no processo solicitado, mas isso não é possível no Windows: serverfault.com/questions/315077/… . Eu poderia acrescentar, call
mas seria pedante e quase inútil.
Arraste um atalho notepad++.exe
para C:\Windows\System32
.
Como alternativa, conforme sugerido por @Synetech inc., Você pode colocar seus atalhos em um diretório separado (por exemplo C:\Shortcuts
) e, em seguida, adicionar esse diretório a %PATH%
:
setx PATH "%PATH%;C:\Shortcuts"
Como alguns dos comentários indicam, isso funciona apenas na caixa de diálogo Executar. Para que os atalhos sejam iniciados em um prompt de comando, você precisa adicionar a extensão de atalho (.LNK) à sua variável de ambiente PATHEXT.
setx PATHEXT %pathext%;.LNK
Referências:
Como posso iniciar aplicativos facilmente com a caixa de diálogo Executar?
Shortcuts
.
setx
. Você não usa um sinal de igual e, como IIRC, precisa colocar todo o caminho entre aspas, se a corrente %PATH%
tiver espaços (o que será).
SETX
usa tildes para variáveis em vez de porcentagens para evitar expandi-las? Eu sei que alguma ferramenta de configuração env-var faz ...
Run As
caixa de diálogo, não funciona no prompt de comando.
Basta criar um link simbólico usando mklink
uma pasta no caminho.
por exemplo (no prompt de comando do administrador)
mklink "C:\Users\Me\Documents\Paths\np.exe" "C:\Program Files (x86)\Notepad++\notepad++.exe"
A chave de registro App Paths faz exatamente isso: defina o caminho para o bloco de notas ++. Exe como "\ program files \ ..." e você poderá iniciá-lo a partir do Start-Run, cmd, ... assim como qualquer executável de um diretório em% PATH%.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths
Referência: /programming/4822400/register-an-exe-so-you-can-run-it-from-any-command-line-in-windows
Não gostei de nenhuma das soluções apresentadas aqui, então tentei outra coisa.
Instale a extensão do shell de link (mais informações aqui )
Crie uma pasta em algum lugar para armazenar todos os seus atalhos, como sugere Marteen, e adicione-os ao seu %PATH%
. Criei C:\Shortcuts
e usei o Rapid Environment Editor para adicioná-lo ao meu PATH.
Clique com o botão direito do mouse no arquivo que você deseja adicionar ao seu caminho (no Explorer) e clique em "Selecionar fonte do link"
Clique com o botão direito do mouse na pasta que você acabou de criar e clique em Drop As > Symbolink Link
.
Renomeie o link do simbolo, se desejar.
É isso aí. Agora você deve acessar seu programa via linha de comando. Se você acabou de adicionar a nova pasta ao PATH, precisará reiniciar o cmd.exe ou o Cmder ou o ConEmu ou o que for que você usar. Depois disso, você pode adicionar novos programas sem reiniciar.
start
para evitar isso, como mostrado na minha resposta.