- ベストアンサー
powershellで引数受け取り時にエラーになる
powershellで下の様に引数を取得し変数に格納したいのですが、 $test = "$args" ファイル名に「&」などの文字があると読み込めないとエラーがでます。 そこで、どんな文字があっても単純な文字列として 読み込むにはどうしたら良いのでしょうか。 但し、ファイル名を手動で変更してから取り込む事はできません。 よろしくお願いいたします。
- みんなの回答 (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"としていたのですが、駄目なのでしょうか。