次のレジストリキーを追加して、Bash on UbuntuPromptをコンテキストメニューに正常に追加しました
[HKEY_CLASSES_ROOT\Directory\Shell\bash]
@="Bash Here"
[HKEY_CLASSES_ROOT\Directory\Shell\bash\command]
@="C:\\Windows\\System32\\bash.exe"
さて、上記の解決策は 2つの大きな問題 対処方法がわからない問題が1つあります。
問題は、起動するパスが実際には親ディレクトリのパスであり、右クリックされたパスではないことです。
起動コマンドに追加の引数を含めようとしましたが、エラー情報を読み取る前にプロンプトが閉じられました。
ショートカットC:\Windows\System32\bash.exe ~
のデフォルトのコマンドは実際に機能し、/home/user/
に配置されます。
更新:C:\Windows\System32\bash.exe
を実行すると、[HKEY_CURRENT_USER\Console\%SystemRoot%_system32_bash.exe]
の下に保存された設定のセットと、デフォルトの場所[HKEY_CURRENT_USER\Console]
からのいくつか(たとえば色)が使用されるようです。したがって、これらの設定が保存されると、正常にリロードします。一方、インストール時に作成されたショートカットは、cmd.exe
に割り当てられた設定を使用しているようです(確認済み)
更新2:bash.exe
の内部からcmd.exe
を起動することを含むソリューションを提供しないでください
これに対する簡単な修正は、cmdを実行することです。このコマンドは、現在の作業ディレクトリを選択したフォルダに設定してから、bashを起動します。
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Directory\Shell\Bash]
@="Bash Here"
[HKEY_CLASSES_ROOT\Directory\Shell\Bash\command]
@="C:\\Windows\\System32\\cmd.exe /k cd %1 && C:\\windows\\system32\\bash.exe"
テスト済みで動作しています。上記のコードをテキストファイルに保存し、拡張子の名前を.reg
に変更してください。
CMDに戻る代わりに終了したい場合は、コマンドの最後に&& exit
と入力してください。
このページでこれを行う方法のステップバイステップのチュートリアルを見つけることができます: http://winaero.com/blog/add-bash-to-the-folder-context-menu-in-windows- 10 /
さらに、すぐに使用できるレジストリファイルを提供します。レジストリファイルをテストしたところ、Win10x64システムで動作します。