Ad esempio, voglio aggiungere notepad ++ al mio PERCORSO, tuttavia la directory contiene anche uninstall.exe
molti altri file / file eseguibili e non voglio che "inquinino" il mio percorso. Posso solo aggiungere quello notepad++.exe
?
Ad esempio, voglio aggiungere notepad ++ al mio PERCORSO, tuttavia la directory contiene anche uninstall.exe
molti altri file / file eseguibili e non voglio che "inquinino" il mio percorso. Posso solo aggiungere quello notepad++.exe
?
Risposte:
Puoi aggiungere uno script batch a una directory che si trova nel tuo percorso, simile a questa:
@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
Puoi nominarlo notepad++.cmd
. La sezione della guida consente di ottenere facilmente informazioni sugli switch.
Ho messo tutti questi script e programmi da riga di comando in una directory che viene aggiunta a %PATH%
:
C:\Users\Public\Command\
... e quella directory è sincronizzata con tutti i computer e le macchine virtuali.
Creare un file batch con contenuti come il seguente:
@"C:\Program Files\Git\bin\git.exe" %*
Questo dovrebbe essere salvato come .bat
file, ad esempio git.bat
in una directory che si trova nella tua PATH
.
@
sopprime l'eco del comando nella shell che invoca. Le citazioni ""
impediscono che gli spazi bianchi vengano interpretati come delimitatori di argomenti. %*
incolla qualsiasi argomento nel file batch, invece nell'eseguibile citato.
È ora possibile richiamare l'eseguibile utilizzando prima la parte del nome del file batch .bat
. Nel mio caso git
,.
Riferimenti:
start git
piuttosto che farlo per loro. Lo script batch funzionerebbe meglio se exec
entrasse nel processo richiesto ma ciò non è possibile su Windows: serverfault.com/questions/315077/… . Potrei anteporre, call
ma sarebbe pedante e per lo più inutile.
Trascina un collegamento notepad++.exe
su C:\Windows\System32
.
In alternativa, come suggerito da @Synetech inc., È possibile posizionare i collegamenti in una directory separata (ad es. C:\Shortcuts
), Quindi aggiungere quella directory a %PATH%
:
setx PATH "%PATH%;C:\Shortcuts"
Come indicano alcuni dei commenti, questo funziona solo dalla finestra di dialogo Esegui. Per ottenere l'avvio dei collegamenti da un prompt dei comandi, è necessario aggiungere l'estensione di collegamento (.LNK) alla variabile di ambiente PATHEXT.
setx PATHEXT %pathext%;.LNK
Riferimenti:
Come posso avviare facilmente le applicazioni con la finestra di dialogo Esegui?
Shortcuts
.
setx
. Non si utilizza un segno di uguale e IIRC, è necessario racchiudere l'intero percorso tra virgolette, se la corrente %PATH%
contiene spazi (che sarà).
SETX
usa le tilde per le variabili invece delle percentuali per evitare di espanderle? So che alcuni strumenti di impostazione env-var fanno ...
Run As
finestra di dialogo, non ha funzionato dal prompt dei comandi.
Basta creare un collegamento simbolico utilizzando mklink
in una cartella nel percorso.
ad es. (nel prompt dei comandi dell'amministratore)
mklink "C:\Users\Me\Documents\Paths\np.exe" "C:\Program Files (x86)\Notepad++\notepad++.exe"
La chiave del Registro di sistema Percorsi app fa esattamente questo: imposta il percorso su notepad ++. Exe su "\ program files \ ..." e sarai in grado di avviarlo da Start-Run, cmd, ... proprio come qualsiasi eseguibile da una directory in% PATH%.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths
Riferimento: /programming/4822400/register-an-exe-so-you-can-run-it-from-any-command-line-in-windows
Non mi piaceva nessuna delle soluzioni presentate qui, quindi ho provato qualcos'altro.
Installa l' estensione della shell dei collegamenti (maggiori informazioni qui )
Crea una cartella da qualche parte per archiviare tutte le scorciatoie come suggerisce Marteen e aggiungila alla tua %PATH%
. Ho creato C:\Shortcuts
e usato Rapid Environment Editor per aggiungerlo al mio PERCORSO.
Fai clic con il pulsante destro del mouse sul file che desideri aggiungere al tuo percorso (in Explorer) e fai clic su "Seleziona origine link"
Fare clic con il tasto destro del mouse sulla cartella appena creata e fare clic Drop As > Symbolink Link
.
Rinominare il collegamento symbolink, se lo si desidera.
Questo è tutto. Ora dovresti essere in grado di accedere al tuo programma tramite la riga di comando. Se hai appena aggiunto la nuova cartella al tuo PERCORSO, dovrai riavviare cmd.exe o Cmder o ConEmu o qualunque cosa tu stia usando. Successivamente, è possibile aggiungere nuovi programmi senza riavviare.
start
per evitarlo, come mostrato nella mia risposta.