しばたテックブログスマートフォン用の表示で見るしばたテックブログPowerShellを中心に気分で書いている技術ブログです。2017-09-27PowerShellでmkdirしたディレクトリにcdする方法PowerShellクラスメソッドさんのdev.classmethod.jpが人気なので便乗してPowerShellだとどうすれば良いか軽く書いておきます。1.2な環境で動作確認しています。$$自動変数を使うBashでは$_が「ひとつ前に実行したコマンドラインの最後の引数」となっていますが、PowerShellで$_は「パイプラインで現在処理されているオブジェクト」を表す自動変数なので使えません。PowerShellでは代わりに$$を使います。$$は正確には「セッションが受け取った最後の行にある最後のトークン」なのですが、コマンド実行直後であれば「ひとつ前に実行したコマンドラインの最後の引数」と同じに使えます。実行例はこんな感じです。パイプラインでつなぐPowerShellではmkdir関数に成功すると作成されたディレクトリオブジェクト(System.IO.DirectoryInfo)を返します。このため、この値をパイプラインでつなぎcd(Set-Location)に引き渡すことが可能です。2016環境でこの方法を使うことができます。.がYankLastArgという機能で割り当てられており、「ひとつ前に実行したコマンドラインの最後の引数」を取得することができます。.の順に入力することで直近に入力したパスを補完することが可能です。キーバインドの割り当ては以下のコマンドで確認することができます。Emacsキーバインド)PSReadlineではSet-PSReadlineOptionによりキーバインドを変更することができます。EmacsとすることでキーバインドをEmacs風にすることができ、この場合、cd→ESC→.の順に入力すれば「ひとつ前に実行したコマンドラインの最後の引数」を取得することができます。}の結果は以下の様に変更されています。viキーバインド)PSReadlineはVer.1.2からvi風のキーバインドをサポートしています。Viとするこでキーバインドをvi風にすることができます。cdで前回のコマンド呼び出し文字列置換を行う事ができます。同時に実行する関数をあらかじめ定義しておく独自の関数を作るのであれば好きなように作ってしまうのが良いと思います。mkdir自体がNew-Itemコマンドレットをラップした関数なので、本格的な関数を作りたい人はmkdirの定義を確認してみると良いでしょう。役に立つ情報を得ることができるはずです。本エントリでは元記事に近い形の簡易な関数を紹介するにとどめておきます。cd}※なお、PowerShellでは&&は予約語となっていますが、サポートされておらず使えません。最後にとりあえずこんな感じです。BashやZshほどではないですがPowerShellでもいろいろな方法を選べますので是非試してみてください。6.1.0~6.2.0で日本語が正しく表示されない現象について事の発端はteratailのこちらの質問から。広告スターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。