web-dev-qa-db-ja.com

バックスペースでPowerShellのビープ音を無効にする

私はまだ5.0を実行している私のラップトップでそれを見つけることができないので、この機能はPowerShellバージョン5.1で追加されたようです。

押すとき Backspace PowerShellでは、削除するテキストがない場合は「ビープ音」が鳴ります。放してからしばらくの間サウンドが鳴り続けるので、誤ってキーを押したままにし過ぎると、これはかなり面倒です。

this スーパーユーザーの質問で、Beepサービスを無効にすることを提案していますが、スクリプトでビープ音を使用できるようにしたいと思います。

ビープ音を完全に無効にせずに「バックスペースのビープ音」を無効にするにはどうすればよいですか?

79
FastEthernet

ビープ音は、Windows 10に同梱されているPSReadlineモジュールによって提供されます。ベルを無効にするには、PSReadlineオプションを変更する必要があります。

Set-PSReadlineOption -BellStyle None

今後のPowerShellセッションすべてにこの変更を適用したい場合は、このコマンドを PowerShellプロファイル に追加する必要があります。たとえば、 "現在のユーザー、現在のホスト"($Profile)のオプションを設定するには、次のようにします。

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
if (!(Test-Path -Path "$Profile")) {New-Item -ItemType File -Path "$Profile" -Force}
Add-Content -Value "Set-PSReadlineOption -BellStyle None" -Path "$Profile"

1行目では、PowerShellが開いたときにプロファイルで起動スクリプトを実行できます( 実行ポリシーについて )。 2行目は、 "現在のユーザー、現在のホスト"に対して定義されている起動スクリプトが既にあるかどうかを確認するためのテストです。 3行目は起動スクリプトにベルオプションを追加します。

108
PetSerAl

@ PetSerAl の回答を拡張した、より恒久的な解決策:

  1. 管理者としてPowerShellを実行します。
  2. set-executionpolicy remotesignedを実行してください。これにより、PowerShellスクリプトをコンピューター上で実行できます。あなたがそれが何であるかについてよくわからないならば、続けないでください。
  3. Windows 10の場合はC:\Windows\System32\WindowsPowerShell\v1.0に行きます。
  4. Microsoft.PowerShell_profile.ps1という名前のファイルを作成します。
  5. そのファイルを編集してSet-PSReadlineOption -BellStyle Noneを追加してください。
  6. 新しいPowerShellコンソールを開くと、ビープ音が聞こえなくなります。

お使いのコンピュータ上のすべてのユーザー用のすべての(新しい)PowerShellコンソールが無音になりました。

この答えはWindows 10用です。他のバージョンのWindowsでは、フォルダーは異なる可能性があります。

20
Odys

Linux用のWindowsサブシステムでBashシェルを使用した@Odysの回答の修正(有効にしていると仮定して)。

1管理者としてコマンドプロンプトを開き、次のコマンドを実行します。

set-executionpolicy remotesigned

2 bashシェルを起動するbashと入力します。

3適切なディレクトリに移動します。

cd /mnt/c/Windows/System32/WindowsPowerShell/v1.0 

4「Microsoft.Powershell_profile.ps1」という名前のファイルを作成し、「Set-PSReadlineOption -BellStyle None」と書き込みます

echo "Set-PSReadlineOption -BellStyle None" >> Microsoft.Powershell_profile.ps1
1
Evan Rosica

この変更が意図的であったかどうかわからないので、私はこのGithubアイテムをPsReadLineに対して提出しました - https://github.com/lzybkr/PSReadLine/issues/422

1
Craig