プロジェクト

全般

プロフィール

PowerShellコマンド環境

プログラムの実行

空白を含むパスのプログラムを実行

PowerShellコマンド環境では、空白を含むパスのプログラム(スクリプト)を実行しようとすると次のようにエラーとなります。

PS C:\> C:\Program Files\Java\jdk1.8.0\bin\jconsole.exe
C:\Program : 用語 'C:\Program' は、コマンドレット、関数、スクリプト ファイル、または操作可能なプログラムの名前として認
識されません。名前が正しく記述されていることを確認し、パスが含まれている場合はそのパスが正しいことを確認してから、再試
行してください。
発生場所 行:1 文字:1
+ C:\Program Files\Java\jdk1.8.0\bin\jconsole.exe
+ ~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (C:\Program:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

空白の前がコマンド、空白の後ろがコマンドオプションとして扱われてしまいます。
そこで、ダブルクォートで囲ってみると、文字列として評価されてしまいます。

PS C:\> "C:\Program Files\Java\jdk1.8.0\bin\jconsole.exe" 
C:\Program Files\Java\jdk1.8.0\bin\jconsole.exe

プログラムとして実行するには、&記号を文字列の前に付けます。

PS C:\> & "C:\Program Files\Java\jdk1.8.0\bin\jconsole.exe" 

ワンライナー集

ファイルを再帰的に読んでパターンマッチング(find | grep)

UNIXでのfind | grepと同等の処理を実施するには、

PS C:\work> ls -r *.cpp *.h | Select-String "iostream" 

UUID(GUID)生成

[Guid]::NewGuid()

クリップボードから画像を追加 (サイズの上限: 1 GB)