Aggiunta di un file .exe al percorso predefinito senza aggiungere la directory


22

Ad esempio, voglio aggiungere notepad ++ al mio PERCORSO, tuttavia la directory contiene anche uninstall.exemolti altri file / file eseguibili e non voglio che "inquinino" il mio percorso. Posso solo aggiungere quello notepad++.exe?

Risposte:


17

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.


8

Creare un file batch con contenuti come il seguente:

@"C:\Program Files\Git\bin\git.exe" %*

Questo dovrebbe essere salvato come .batfile, ad esempio git.batin 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:


Per molti programmi che riagganciano CMD fino a quando non lo si chiude. Devi usarlo startper evitarlo, come mostrato nella mia risposta.
paradroid

@paradroid: grazie, ma è un comportamento terminale standard rimanere attaccati al genitore a meno che non venga richiesto. L'utente dovrebbe fare start gitpiuttosto che farlo per loro. Lo script batch funzionerebbe meglio se execentrasse nel processo richiesto ma ciò non è possibile su Windows: serverfault.com/questions/315077/… . Potrei anteporre, callma sarebbe pedante e per lo più inutile.
Matt Joiner,

3

Trascina un collegamento notepad++.exesu 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?


1
Questa è la soluzione preferita (al contrario di un file batch); crea un collegamento in una (diversa) directory nel percorso, non inquinare le directory di Windows! Ho una cartella appositamente per questo scopo chiamata Shortcuts.
Synetech,

1
Questa è la sintassi sbagliata per 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à).
paradroid

E non SETXusa le tilde per le variabili invece delle percentuali per evitare di espanderle? So che alcuni strumenti di impostazione env-var fanno ...
Synetech,

2
Questo non funziona Per impostazione predefinita (sto trascinando git.exe), "git - Collegamento", rinominandolo in combinazioni di "git.exe", "git", "git.cmd" ecc. Non ha alcun effetto. Non riconoscerà il collegamento.
Matt Joiner,

3
Funziona solo quando si richiama dalla Run Asfinestra di dialogo, non ha funzionato dal prompt dei comandi.
Matt Joiner,

1

Basta creare un collegamento simbolico utilizzando mklinkin 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"

0

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


Questo non lo renderà eseguibile da cmd - solo da start-run, o in cmd devi prefissarlo con "start" come in "start myapp.exe"
Tahir Hassan,

Il comando Prompt, concordato, non ha la capacità di riconoscere questa variabile. PowerShell lo riconosce. Questa soluzione, ancora più importante, si applica solo alla directory e, quindi, fuori tema.
Todd Partridge,

0

Non mi piaceva nessuna delle soluzioni presentate qui, quindi ho provato qualcos'altro.

  1. Installa l' estensione della shell dei collegamenti (maggiori informazioni qui )

  2. Crea una cartella da qualche parte per archiviare tutte le scorciatoie come suggerisce Marteen e aggiungila alla tua %PATH%. Ho creato C:\Shortcutse usato Rapid Environment Editor per aggiungerlo al mio PERCORSO.

  3. 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"

  4. Fare clic con il tasto destro del mouse sulla cartella appena creata e fare clic Drop As > Symbolink Link.

  5. 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.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.