• ベストアンサー

powershellで引数受け取り時にエラーになる

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

質問者が選んだベストアンサー

  • ベストアンサー
  • lv4u
  • ベストアンサー率27% (1862/6715)
回答No.1

質問のエラーは、powershellのスクリプトを、引数付きで呼び出したときに起こるものを指しているのですよね? エラーの原因は、スクリプト起動時、パラメータとして渡すファイル名に、予約されたキャラクター"&"を使っているからでしょう。 スクリプトファイル名がsample.ps1として、渡したいファイル名がaaa&bbbのとき PS>.\sample.ps1 aaa&bbb ではなく、 PS>.\sample.ps1 "aaa&bbb" のようにパラメータのファイル名を「"」で囲むとうまく渡ります。

omorinoya35234
質問者

補足

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

関連するQ&A