このエントリーをはてなブックマークに追加


PowerShellコンソール起動時にスクリプトを実行する方法 $profile

LinuxなどUNIX系のシェルでターミナル起動時に実行されるスクリプトを記述しておく .profile や .bash_profile などと同等の事をPowerShellで実現する 方法を以下に記します。


関連記事

環境変数 $profile

PowerShellのコンソールを起動し、$profile と入力しEnterキーを押してみてください。
出力されたパスがPowerShell起動時に読み込まれるスクリプトとなります。
以下に出力例を記します。

PS C:\Users\Sakura> $profile
C:\Users\Sakura\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1

$profileを作成して試してみる

$profileにより、配置するディレクトリおよびファイル名が分かったので作成してみます。
以下、上記の$profileの出力をもとにした手順です。
みなさんの環境にあった値で読み替えてください。

  1. ディレクトリの作成
    mkdir C:\Users\Sakura\Documents\WindowsPowerShell\
     
  2. ファイルの作成
    notepad $profile
     
  3. Microsoft.PowerShell_profile.ps1 に以下の記述を書き、保存しました。
    # Office2013 Path
    $Env:Path += ";C:\Program Files\Microsoft Office 15\root\office15"
    # Google Chrome Path
    $Env:Path += ";C:\Program Files\Google\Chrome\Application"
    # Function
    Function touch($file) {
      If (Test-Path $file) {
        (Get-Item $file).LastWriteTime = Get-Date
      } Else {
        Out-File -encoding Default $file
      }
    }
    Function uptime() {
      [DateTime]::Now -  [Management.ManagementDateTimeConverter]::ToDateTime((Get-WmiObject Win32_OperatingSystem).LastBootUpTime) |
      Select-Object Days, Hours, Seconds, Milliseconds| Format-Table -AutoSize
    }
  4. 一度、PowerShellを終了し再度起動します。
    エラーになった場合は…
    スクリプトが実行できる設定になっていないと思われます。
    PowerShellのデフォルトではPowerShellスクリプトを記述したファイルを読み込み実行が無効となっています。
    以下のリンクの記事で、PowerShellのスクリプトファイル実行を許可してください。
  5. 実際にPATHが通っているかを確認したり、定義したFunctionが動くか確認した時のスクリーンショットです
    01.png
     

以上、PowerShell起動時にスクリプトを読み込み実行する方法でした。



添付ファイル: file01.png 1431件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2016-01-28 (木) 21:00:54