Muni Bus

パソコンの操作方法や設定方法を忘れないようにメモしています。ブログを一回引っ越ししているので、所々表示がかなり乱れています・・・

Windows PowerShell

【Windows PowerShell】使用しているWindowsが64ビットWindowsか32ビットWindowsかの判定

現在使用しているWindowsが64ビットウィンドウズか32ビットウィンドウズかを調べるには、Win32_OperatingsystemクラスのOSArchitectureプロパティの値を見ればよい。 64ビットOSの場合。 PS > $os = Get-WmiObject -Class Win32_OperatingSystemPS > $os.OSa…

【Windows PowerShell】ファイルやディレクトリの存在を確認する

Test-Pathコマンドレットを使用することで、ファイルとディレクトリーの存在を確認することができる。ファイルとディレクトリーの違いの判定もできる。 ファイルかディレクトリー(フォルダー)の違いには-PathTypeパラメーターを使う。-PathTypeパラメータ…

【Windows PowerShell】CPUが64ビットWindowsをサポートしているか否かの確認

そのコンピューターのCPUが64ビットWindowsが使えるかどうか、Windows PowerShellのスクリプトで確認をすることができる。 Win32_ProcessクラスのDescriptionプロパティの値を見ればよい。64ビットWindowsをサポートしているコンピューターであれば、「Intel…

【PowerShell】環境変数を確認する

以下の3つのコマンドレットを使用する。 Set-Location(エイリアス:sl) … 現在のドライブを変更するGet-ChildItemn(エイリアス:gc) … 環境変数の一覧を得るGet-Contentn(エイリアス:gci) … 環境変数を表示する 以下は、環境変数の一覧を画面表示させ…

【PowerShell】エラーメッセージ「このシステムではスクリプトの実行が無効になっているため、ファイル C:\Users\○○○\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1 を読み込むことができません。詳細については、「about_Execution_Policies」(http://go.microsoft.com/fwlink/?LinkID=135170) を参照してください。」

Windowsのインストール直後では、スクリプト(*.ps1)を実行しようとすると、「スクリプトの実行がシステムで無効になっているため~」というメッセージが表示されて実行できない。そのため、実行ポリシーを変更することで実行できるようにする。 「Windows …

【PowerShell】パス付きファイル名を代入している変数から拡張子を取り除く、パスだけを取り出す、など

System.IO名前空間のPathクラスを使うと簡単にできる。以下、メソッドとその動作の対応表。 GetFileNameWithoutExtension→フルパスからパス名とファイルの拡張子(最後のピリオド以降)を取り除くGetDirectoryName→フルパスからパス名を取り出すGetFileName→…

【PowerShell】テキストファイルを最終行から順番に表示して最後に1行目を表示する

Linuxで言うところのtacコマンドに相当するコマンドレットはPowerShellにはないことから、Get-Contentコマンドレットを使用して行ってみる。以下のようなdata.datというテキストファイルがカレントフォルダーある場合の例。 PS > Get-Content .\data.datA 1.…

【PowerShell】テキストファイルの最終行を表示する(Linuxのtailコマンド)

Get-Contentコマンドレットを使えばよい。-tailオプションを使用する。以下は、カレントフォルダーに以下のようなtext.txtというテキストファイルがあるという前提での使用例。 PS > Get-Content -path text.txtAB CD E FPS > Get-Content -path text.txt -t…

【PowerShell】PowerShellのバージョンを調べる

変数$PSVersionTableの値を確認すればよい。なお、$PSVersionTableはPowerShellバージョン2からなので注意。以下は表示例。バージョンによって表示される順番は異なる。 PS > $PSVersionTableName Value---- -----PSVersion ○○WSManStackVersion ○○Serializa…

【PowerShell】バッチファイル(.bat)の%ERRORLEVEL%に相当するもの

$?を使う。

【Windows PowerShell】スクリプトの途中でスクリプトを強制終了する

exitステートメントを使う。エラーコードを返すこともできる。 以下のスクリプトは、今のコンピューターの日時を取得し、秒が偶数であれば今の日時を表示し、奇数であれは何も表示しないでエラーコードの1を返しながらスクリプトを強制終了する。 exitステー…

【PowerShell】タスクスケジューラで実行するプログラムとネットワークドライブ

タスクスケジューラでスクリプトを実行する時、普段利用しているネットワークドライブには注意。ネットワークドライブはユーザーごとに設定されるものであり、かつ、ログイン後に有効になることから、仮にタスク実行時にログインをしていたとしても、タスク…

【PowerShell】フォルダーが存在するか否か確認する

コマンドレットTest-Pathを使えばよい。例えばC:\workというフォルダーがあるかどうかの確認をIF文で行う場合は、以下のようにすればよい。 if (Test-Path c:\work) { }

【PowerShell】タスクスケジューラでスクリプトファイルを実行する

タスクスケジューラでPowerShellのスクリプトを実行するときの注意点。 ダイアログボックス「操作の編集」で「プログラム/スクリプト」の箇所にスクリプトファイル(○○.ps1)を指定しないこと。指定しても、そのタスク実行時はそのスクリプトファイルがメモ…

【PowerShell】変数を使用した文字列の作成がうまくいかない

例えば、以下のようにして「Hello_World」という文字列を作成しようとするとうまくいかない。 PS > $a = "Hello" PS > $b = "World" PS > "$a_$b" World 文字「_」(アンダースコア、アンダーバー、アンダーライン)が変数とつながると、変数の中身の展開が…

Windows版VimでPowerShellのスクリプトファイルをカラー表示する。

まずはここからPowerShellのシンタックスファイル(ps1.vim)をダウンロードする。 http://www.vim.org/scripts/script.php?script_id=1327 Vimの専用フォルダーにps1.vimをコピーする。例えば、VimをC:\Vimにインストールしているのであれば、C:\Vim\runtim…

【Windows PowerShell】エイリアスの設定

ファイル名が長いプログラムを簡単に実行できるように、短い別名(エイリアス)を設定することができる。 例えば、Mingwのmakeはmingw32-make.exeとコマンド名が長いので、makeと入力したら実行できるようにするには、以下のようにする。 PS > Set-Alias mak…

【Windows PowerShell】起動時に自動的に設定する

エイリアスなどPowerShell起動時に自動的に設定したいものは、プロファイルに記述しておく。プロファイルとは、起動時に自動的に読み込まれる設定ファイルのこと。 プロファイルというファイルの確認方法は以下のとおり。 PS > $profile 一番最初(PowerShel…

PowerShellのスクリプトを実行できるようにする

初期状態でスクリプトを実行しようとすると,「スクリプトの実行がシステムで無効になっているため~」メッセージが表示されて実行できない.実行ポリシーを変更する. スタートメニューで「Windows PowerShell」を表示させて,右クリック.「管理者として実…