web-dev-qa-db-ja.com

Windows 10上のUbuntuのBashをエクスプローラーのコンテキストメニューに追加する(問題)

次のレジストリキーを追加して、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を起動することを含むソリューションを提供しないでください

3
Constantine

これに対する簡単な修正は、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と入力してください。

2
mt025

このページでこれを行う方法のステップバイステップのチュートリアルを見つけることができます: http://winaero.com/blog/add-bash-to-the-folder-context-menu-in-windows- 10 /

さらに、すぐに使用できるレジストリファイルを提供します。レジストリファイルをテストしたところ、Win10x64システムで動作します。

2