Windows PowerShellを使用して、コマンドプロンプトを変更するにはどうすればよいですか?
たとえば、デフォルトのプロンプトには
PS C:\Documents and Settings\govendes\My Documents>
その文字列をカスタマイズしたいと思います。
回答:
関数prompt
をPowerShellプロファイル(notepad $PROFILE
)に配置するだけです。例:
function prompt {"PS: $(get-date)>"}
または色付き:
function prompt
{
Write-Host ("PS " + $(get-date) +">") -nonewline -foregroundcolor White
return " "
}
new-item -itemtype file -path $profile -force
Set-ExecutionPolicy RemoteSigned
。
Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy Unrestricted
現在のユーザーのみを変更したい場合、または管理者として実行できない場合は@qed 。
Ocaso Protalの回答へのコメントに関連して、Windows Server2012およびWindows7(PowerShellウィンドウ内)には次のものが必要です。
new-item -itemtype file -path $profile -force
notepad $PROFILE
複数のユーザー名で実行する場合(たとえば、自分自身と本番ログイン)、プロンプトとして次のことをお勧めします。
function Global:prompt {"PS [$Env:username]$PWD`n>"}
(クレジットはDavid I. McIntoshに送られます。)
Set-ExecutionPolicy RemoteSigned
。
プロンプトで、ネットワークドライブの現在のタイムスタンプと解決されたドライブ文字が気に入っています。読みやすくするために、2行に並べて、少し色を変えてみました。
CMDで、私は
PROMPT=$E[33m$D$T$H$H$H$S$E[37m$M$_$E[1m$P$G
PowerShellの場合、次の場合と同じ結果が得られました。
function prompt {
$dateTime = get-date -Format "dd.MM.yyyy HH:mm:ss"
$currentDirectory = $(Get-Location)
$UncRoot = $currentDirectory.Drive.DisplayRoot
write-host "$dateTime" -NoNewline -ForegroundColor White
write-host " $UncRoot" -ForegroundColor Gray
# Convert-Path needed for pure UNC-locations
write-host "PS $(Convert-Path $currentDirectory)>" -NoNewline -ForegroundColor Yellow
return " "
}
これはもう少し読みやすいです:-)
ところで:
powershell_ise.exe $PROFILE
は(ばかげた)メモ帳の代わりに好みます。あなたがそれを自分でやりたいのなら、OcasoProtalの答えは行く方法です。しかし、あなたが私のように怠け者で、あなたのために何かをしたいだけなら、LukeSampsonのPshazzパッケージを強くお勧めします。
あなたがどれほど怠惰になることができるかを示すために、私は簡単なチュートリアルを提供します。
scoop install pshazz
)pshazz use msys
)Pshazzでは、JSONファイルを構成するのと同じくらい簡単な独自のテーマを作成することもできます。それがどれほど簡単かを確認するために私のものをチェックしてください!
このバージョンのWarrenStevensの回答は、Set-Location
ネットワーク共有へのパスでノイズの多い「Microsoft.PowerShell.Core \ FileSystem」を回避します。
function prompt {"PS [$Env:username@$Env:computername]$($PWD.ProviderPath)`n> "}
notepad $PROFILE
管理者のPowerShellプロンプトからのWindows7では機能しません