web-dev-qa-db-ja.com

ConEmuタブを現在のパスで更新します

ConEmuで、PowerShellコンソールを開いています。タブのタイトルに、現在のフォルダーを反映させたいのですが、デフォルトでは、タイトルは「WindowsPowershell」です。

タスクのタブタイトルを「C:\ Code」に指定すると更新されますが、ハードコードされています。

PowerShellコンソールを開く方法はありますか?ナビゲートすると、タブタイトルに現在のディレクトリが表示されますか?

9
taylonr

PowerShell

PowerShellプロファイルのPrompt関数を変更します。

エディター、メモ帳などでプロファイルを開きます

new-item -itemtype file -path $profile
notepad $profile

次の関数を追加して、プロンプトが表示されるたびにConEmuタブを変更(実際には名前を変更)します

function Prompt
{
  & "$env:ConEmuBaseDir\ConEmuC.exe" "/GUIMACRO", 'Rename(0,@"'$(Get-Location)'")' > $null
  return "PS " + $(Get-Location) + ">"
}

または、次のコードを使用してコンソールタイトルを変更しますが、タブは変更しません

function Prompt
{
  & "$env:ConEmuBaseDir\ConEmuC.exe" "/GUIMACRO", 'Rename(1,@"'$(Get-Location)'")' > $null
  return "PS " + $(Get-Location) + ">"
}

ConEmuの外部でPowerShellを使用する必要がある場合は、このコードを変更する必要がある場合があります。


cmd(1つの答えにしましょう)

cmd.exeを使用している場合は、Promptおよび [〜#〜] ansi [〜#〜] を使用して、cmdの現在のディレクトリでConEmuタブを更新できます。次のようにcmdを実行するだけです。

cmd /k Prompt $p$e]9;3;"$p"$e\$g & title cmd

ANSIを処理できるようにするには、ConEmuのFeatures設定ページでInject ConEmuHkおよびANSI X3.64オプションを有効にする必要があります(これらはデフォルトで有効になっています)。 ConEmuのウィンドウタイトルを右クリックするか、を押します WinAltPSettingsダイアログを開きます。

この例の& title cmdは、ウィンドウのキャプションを美しくするためだけに必要ではないことに注意してください。

10
Maximus