社内SEの徒然なる日記

powerShellがマイ ドキュメントから実行できない

■ いきなり躓いた

久しぶりにpowerShellを使おうとしたら、なぜか実行できない(--;)

シェルは「C:\My Documents」にあります。
内容は、こんな感じです。
# 確認メッセージを表示します。
Write-Output ('日時:' + (Get-Date -format yyyyMMdd_HHmmss))


powerShellを起動して、作成したシェルをドラッグ&ドロップ、そしてEnterキーを押下すると、処理が実行されません。
powerShell(Harf My Docu)

あれ?なんでだ?

■ なんで?

とりあえず、いろいろ試して見ます。

1.シェルをDドライブ直下に移動して実行

これは、きちんと動きました。
powerShell(Harf D)

2.半角スペースを含めてみる

Dドライブの「AAA BBB」というフォルダから実行します。
これはダメでした。
powerShell(Harf D FolderSpace)

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

3.全角スペース

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

powerShell(Harf D FolderLSpace)

powerShell(Harf D NameLSpace)

■ 犯人は判った、こうしよう

多くの言語と同じく、powerShellでは半角スペースを意味の区切りと認識するようです。
なので、powerShellに半角スペースをコマンドの一部だと教えてやれば動きそうです。

1.エスケープシーケンスを使う

powerShellでのエスケープシーケンスの使用は`(バックスラッシュ)です。
なので、半角スペースの前に`を追加してやれば、動作させられました。

powerShell(Harf バックスラッシュ)

…しかし、この方法だと手間が掛かりすぎる。
毎回、コマンドを手打ちするってのも手間だしね。

2.&を使う

であれば、先頭に「& 」を付けて実行するまでの話です。
これなら、「& 」を打った後にシェルをドラッグ&ドロップしてやるだけです。

powerShell(Harf &)


投稿記事の一覧:http://harikofu.web.fc2.com/

--- blog end ---

スポンサードリンク

PageTop

コメント


管理者にだけ表示を許可する