
■ いきなり躓いた
久しぶりにpowerShellを使おうとしたら、なぜか実行できない(--;)
シェルは「C:\My Documents」にあります。
内容は、こんな感じです。
# 確認メッセージを表示します。
Write-Output ('日時:' + (Get-Date -format yyyyMMdd_HHmmss))
powerShellを起動して、作成したシェルをドラッグ&ドロップ、そしてEnterキーを押下すると、処理が実行されません。

あれ?なんでだ?
■ なんで?
とりあえず、いろいろ試して見ます。
1.シェルをDドライブ直下に移動して実行
これは、きちんと動きました。

2.半角スペースを含めてみる
Dドライブの「AAA BBB」というフォルダから実行します。
これはダメでした。

今度は、Dドライブ直下から、シェルの名前自体に半角スペースを追加して実行します。
これもダメでした。

3.全角スペース
同じ条件下で、半角スペースを全角スペースにして実行します。
フォルダ名、ファイル名のどちらでも動作できました。


■ 犯人は判った、こうしよう
多くの言語と同じく、powerShellでは半角スペースを意味の区切りと認識するようです。
なので、powerShellに半角スペースをコマンドの一部だと教えてやれば動きそうです。
1.エスケープシーケンスを使う
powerShellでのエスケープシーケンスの使用は`(バックスラッシュ)です。
なので、半角スペースの前に`を追加してやれば、動作させられました。

…しかし、この方法だと手間が掛かりすぎる。
毎回、コマンドを手打ちするってのも手間だしね。
2.&を使う
であれば、先頭に「& 」を付けて実行するまでの話です。
これなら、「& 」を打った後にシェルをドラッグ&ドロップしてやるだけです。

投稿記事の一覧:http://harikofu.web.fc2.com/
--- blog end ---
スポンサードリンク


