プロが教えるわが家の防犯対策術!

powershellで下の様に引数を取得し変数に格納したいのですが、

$test = "$args"

ファイル名に「&」などの文字があると読み込めないとエラーがでます。
そこで、どんな文字があっても単純な文字列として
読み込むにはどうしたら良いのでしょうか。
但し、ファイル名を手動で変更してから取り込む事はできません。
よろしくお願いいたします。

A 回答 (1件)

質問のエラーは、powershellのスクリプトを、引数付きで呼び出したときに起こるものを指しているのですよね?


エラーの原因は、スクリプト起動時、パラメータとして渡すファイル名に、予約されたキャラクター"&"を使っているからでしょう。

スクリプトファイル名がsample.ps1として、渡したいファイル名がaaa&bbbのとき

PS>.\sample.ps1 aaa&bbb

ではなく、

PS>.\sample.ps1 "aaa&bbb"

のようにパラメータのファイル名を「"」で囲むとうまく渡ります。

この回答への補足

すみません。書いていない事がありました。リンクを参考に、
http://www.wmifun.net/step/wps_03.html
作成したps1ファイルのショートカットを作成し、そのショートカットにファイルをD&Dをして実行しています。
そのれもあって"$args"としていたのですが、駄目なのでしょうか。

補足日時:2014/10/12 10:12
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!