ディレクトリを追加せずにデフォルトのパスに.exeを追加する


22

たとえば、notepad ++をPATHに追加したいのですが、ディレクトリにはuninstall.exe他にもいくつかのファイル/実行可能ファイルが含まれているため、パスを「汚染」したくありません。ただ追加することはできますnotepad++.exeか?

回答:


17

次のようなパスにあるディレクトリにバッチスクリプトを追加できます。

@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

名前を付けることができnotepad++.cmdます。ヘルプセクションでは、スイッチに関する情報を簡単に取得できます。

このようなスクリプトとコマンドラインプログラムはすべて、次のディレクトリに追加され%PATH%ます C:\Users\Public\Command\ 。...そのディレクトリは、すべてのコンピューターと仮想マシンに同期されます。


8

次のような内容のバッチファイルを作成します。

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

これは.bat、などgit.batにあるディレクトリにファイルとして保存する必要がありますPATH

@呼び出しシェルへのコマンドのエコーを抑制します。引用符は""、空白が引数の区切り文字として解釈されるのを防ぎます。%*代わりに引用符で囲まれた実行可能ファイルに、バッチファイルに引数を貼り付けます。

これで、前のバッチファイル名の一部を使用して実行可能ファイルを呼び出すことができます.bat。私の場合、git

参照:


CMDを閉じるまでハングアップする多くのプログラム。start私の答えに示すように、あなたはそれを避けるために使う必要があります。
パラドロイド

@paradroid:ありがとう ユーザーは、自分のためにやらstart gitせるよりも、やるべきです。バッチスクリプトはexec、要求されたプロセスに入れるとより適切に動作しますが、これはWindowsでは不可能です:serverfault.com/questions/315077/…。私は前に付けるcallことができますが、それは教訓的でほとんど無意味です。
マットジョイナー

3

にショートカットをドラッグnotepad++.exeC:\Windows\System32ます。


または、@ Synetech inc。が示唆するように、ショートカットを別のディレクトリ(例:)に配置し、C:\Shortcutsそのディレクトリを%PATH%次の場所に追加できます。

setx PATH "%PATH%;C:\Shortcuts"

一部のコメントが示すように、これは「実行」ダイアログからのみ機能します。コマンドプロンプトから起動するショートカットを取得するには、PATHEXT環境変数にショートカット拡張子(.LNK)を追加する必要があります。

setx PATHEXT %pathext%;.LNK

参照:

[実行]ダイアログボックスでアプリケーションを簡単に起動するにはどうすればよいですか?


1
これが推奨されるソリューションです(バッチファイルではありません)。パスの(異なる)ディレクトリにショートカットを作成します。Windowsのディレクトリを汚染しないでください!この目的専用のフォルダがありますShortcuts
-Synetech

1
それはの間違った構文ですsetx。等号は使用しません。IIRCでは、現在の%PATH%スペースにスペースが含まれている場合は、パス全体を引用符で囲む必要があります(スペースが含まれる場合)。
パラドロイド

またSETX、変数の展開を避けるために、パーセントではなくチルダを変数に使用しませんか?いくつかのenv-var設定ツールは…
-Synetech

2
これは機能しません。デフォルトでは(git.exeをドラッグしています)、「git-Shortcut」、これを「git.exe」、「git」、「git.cmd」などの組み合わせに変更しても効果はありません。ショートカットを認識しません。
マットジョイナー

3
これは、Run Asダイアログから呼び出す場合にのみ機能し、コマンドプロンプトからは機能しませんでした。
マットジョイナー

1

パスのフォルダー内でシンボリックリンクを作成するだけmklinkです。

例(管理者のコマンドプロンプト)

mklink "C:\Users\Me\Documents\Paths\np.exe" "C:\Program Files (x86)\Notepad++\notepad++.exe"

0

App Pathsレジストリキーは、これを正確に行います。notepad++。exeへのパスを「\ program files \ ...」に設定すると、Start-Run、cmdなどから起動できるようになります。 %PATH%のディレクトリ。

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths

参照:https : //stackoverflow.com/questions/4822400/register-an-exe-so-you-can-run-it-from-any-command-line-in-windows


のみ起動の実行から、またはCMDであなたは「myapp.exeに開始」のように「開始」を前に付けする必要があります-これはCMDからそれを実行することはありません
タヒルハッサン

コマンドプロンプトはこれに同意し、この変数を認識する能力が不足しています。PowerShellはそれを認識します。さらに重要なことは、このソリューションはディレクトリにのみ適用されるため、トピック外です。
トッドパートリッジ

0

ここで紹介したソリューションはどれも気に入らなかったので、別の方法を試しました。

  1. リンクシェル拡張機能のインストール(詳細はこちら

  2. フォルダーを作成して、Marteenが提案するようなすべてのショートカットを保存し、それをに追加します%PATH%Rapid Environment Editorを作成C:\Shortcutsして使用し、PATHに追加しました。

  3. (エクスプローラーで)パスに追加するファイルを右クリックし、[リンクソースを選択]をクリックします

  4. 作成したフォルダーを右クリックして、をクリックしますDrop As > Symbolink Link

  5. 必要に応じて、symbolinkリンクの名前を変更します。

それでおしまい。これで、コマンドラインからプログラムにアクセスできるようになります。新しいフォルダーをPATHに追加したばかりの場合は、cmd.exe、Cmder、ConEmu、または使用しているものをすべて再起動する必要があります。その後、再起動せずに新しいプログラムを追加できます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.