Por ejemplo, quiero agregar notepad ++ a mi RUTA, sin embargo, el directorio también contiene uninstall.exe
y varios otros archivos / ejecutables y no quiero que "contaminen" mi ruta. ¿Puedo agregar el uno notepad++.exe
?
Por ejemplo, quiero agregar notepad ++ a mi RUTA, sin embargo, el directorio también contiene uninstall.exe
y varios otros archivos / ejecutables y no quiero que "contaminen" mi ruta. ¿Puedo agregar el uno notepad++.exe
?
Respuestas:
Puede agregar un script por lotes a un directorio que está en su ruta, que se parece a esto:
@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
Puedes nombrarlo notepad++.cmd
. La sección de ayuda le permite obtener fácilmente información sobre los conmutadores.
Puse todos esos scripts y programas de línea de comandos en un directorio que se agrega a %PATH%
:
C:\Users\Public\Command\
... y ese directorio se sincroniza con todas las computadoras y máquinas virtuales.
Cree un archivo por lotes con contenido como el siguiente:
@"C:\Program Files\Git\bin\git.exe" %*
Esto debe guardarse como un .bat
archivo, como git.bat
en un directorio que está en su PATH
.
@
suprime la repetición del comando al shell de invocación. Las citas ""
evitan que los espacios en blanco se interpreten como delimitadores de argumentos. %*
pega cualquier argumento al archivo por lotes, al ejecutable citado en su lugar.
Ahora puede invocar el ejecutable utilizando la parte del nombre del archivo por lotes anterior .bat
. En mi caso git
,.
Referencias
start git
lugar de hacerlo por ellos. La secuencia de comandos por lotes funcionaría mejor si exec
entrara en el proceso solicitado, pero esto no es posible en Windows: serverfault.com/questions/315077/… . Podría anteponer call
pero sería pedante y sobre todo inútil.
Arrastre un acceso directo a notepad++.exe
para C:\Windows\System32
.
Alternativamente, como lo sugiere @Synetech inc., Puede colocar sus accesos directos en un directorio separado (por ejemplo C:\Shortcuts
), y luego agregar ese directorio a %PATH%
:
setx PATH "%PATH%;C:\Shortcuts"
Como indican algunos de los comentarios, esto solo funciona desde el cuadro de diálogo Ejecutar. Para que los accesos directos se inicien desde un símbolo del sistema, debe agregar la extensión de acceso directo (.LNK) a su variable de entorno PATHEXT.
setx PATHEXT %pathext%;.LNK
Referencias
¿Cómo puedo iniciar aplicaciones fácilmente con el cuadro de diálogo Ejecutar?
Shortcuts
.
setx
. No utiliza un signo de igual, y IIRC, debe encerrar la ruta completa entre comillas, si la corriente %PATH%
tiene espacios (lo cual será).
SETX
utiliza tildes para variables en lugar de porcentajes para evitar expandirlas? Sé que alguna herramienta de configuración de env-var ...
Run As
cuadro de diálogo, no funciona desde el símbolo del sistema.
Simplemente cree un enlace simbólico utilizando mklink
en una carpeta en la ruta.
por ejemplo (en el símbolo del sistema del administrador)
mklink "C:\Users\Me\Documents\Paths\np.exe" "C:\Program Files (x86)\Notepad++\notepad++.exe"
La clave de registro de App Paths hace exactamente esto: configure la ruta de acceso a notepad ++. Exe en "\ program files \ ..." y podrá iniciarla desde Start-Run, cmd, ... como cualquier ejecutable desde un directorio en% PATH%.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths
Referencia: /programming/4822400/register-an-exe-so-you-can-run-it-from-any-command-line-in-windows
No me gustó ninguna de las soluciones presentadas aquí, así que probé algo más.
Instalar extensión de shell de enlace (más información aquí )
Cree una carpeta en algún lugar para almacenar todos sus accesos directos como Marteen sugiere y agréguelo a su %PATH%
. Creé C:\Shortcuts
y utilicé Rapid Environment Editor para agregarlo a mi RUTA.
Haga clic con el botón derecho en el archivo que desea agregar a su ruta (en el Explorador) y haga clic en "Elegir fuente de enlace"
Haga clic derecho en la carpeta que acaba de crear y haga clic Drop As > Symbolink Link
.
Cambie el nombre del enlace del símbolo si lo desea.
Eso es. Ahora debería poder acceder a su programa a través de la línea de comandos. Si acaba de agregar la nueva carpeta a su RUTA, deberá reiniciar cmd.exe o Cmder o ConEmu o lo que sea que esté utilizando. Después de eso, puede agregar nuevos programas sin reiniciar.
start
para evitar eso, como se muestra en mi respuesta.