bash や zsh など では、 vim hoghogepath や emacs を使ってファイルの編集が可能です。
PowerShell ではどうなのか。 powershell.exe では出来ませんが、 powershell_ise.exe を使っているときは、psedit コマンドで、コンソールにそのファイルを開いてすぐに編集、保存をすることが可能です。
今回はその紹介。
PowerShell ISE
本ブログでも何度も紹介している、 PowerShell ISE (Integrated Scripting Environment) です。
win + r から powershell_ise などで起動することが出来る、 PowerShell 純正の 開発環境です。
今回のやり方は、 Interactive Console と言われる powershell.exe ではなく、 ISE 環境である powershell_ise.exe を用います。
psedit
psedit は PowerShell ISE 専用のコマンドレットの一つです。 概要を見てみましょう。
Get-Command psedit | select *
このような動作をします。
HelpUri : ScriptBlock : param([Parameter(Mandatory=$true)]$filenames) foreach ($filename in $filenames) { dir $filename | where {!$_.PSIsContainer} | %{ $psISE.CurrentPowerShellTab.Files.Add($_.FullName) > $null } } CmdletBinding : True DefaultParameterSet : Definition : param([Parameter(Mandatory=$true)]$filenames) foreach ($filename in $filenames) { dir $filename | where {!$_.PSIsContainer} | %{ $psISE.CurrentPowerShellTab.Files.Add($_.FullName) > $null } } Options : None Description : Verb : Noun : HelpFile : OutputType : {} Name : psEdit CommandType : Function Visibility : Public ModuleName : Module : RemotingCapability : PowerShell Parameters : {[filenames, System.Management.Automation.ParameterMetadata], [Verbose, System.Management.Automation.ParameterMetadata], [Debug, System.Management.Automation.ParameterMetadata], [ErrorAction, System.Management.Automation.ParameterMetadata]...} ParameterSets : {[-filenames] <Object> [<CommonParameters>]}
Help を見てみましょう
Get-Help psedit -full NAME psEdit SYNTAX psEdit [-filenames] <Object> [<CommonParameters>] PARAMETERS -filenames <Object> Required? true Position? 0 Accept pipeline input? false Parameter set name (All) Aliases None Dynamic? false <CommonParameters> This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer and OutVariable. For more information, see about_CommonParameters (http://go.microsoft.com/fwlink/?LinkID=113216). INPUTS None OUTPUTS System.Object ALIASES None REMARKS None
利用方法
PowerShell_ise の console画面下 (上部のScripting 画面ではなく、下部の console 画面) で、 psedit ファイル名
とするだけです。 例えば、このようなファイルを出力します。
Get-Help psedit -full | Out-File -FilePath d:\test.log -Encoding utf8
これをPowerShell_ise の Scripting 画面に開くには、 ファイルを指定します。
psedit D:\test.log
すると、このように 現在の Scripting 画面にタブが出来てファイルが開きます。
後は、編集なり保存なりすればいいでしょう。 トテモ便利なので利用してください。 なお、 powershell.exe で psedit コマンドは利用できませんので悪しからず。 powershell_ise で開くだけなら普通に引数に渡せばいいのですが、さて。
powershell_ise D:\test.log