satocchiaブログ

satocchiaブログ

PR

×

キーワードサーチ

▼キーワード検索

プロフィール

satocchia

satocchia

カレンダー

お気に入りブログ

まだ登録されていません

コメント新着

tomoZo@ Re:Pale Moon日本語化トラブル(06/06) はじめまして。 28.16.0でまたもや提供さ…
satocchia @ Re[1]:Pale Moon日本語化トラブル(06/06) zui_9さんへ 本日、確認しました。ようや…
zui_9 @ Re:Pale Moon日本語化トラブル(06/06) 上記リンク「Githubのプロジェクト」の左…
わたなべ@ Re:powershellコンソール、見づらくありませんか?(08/26) 初めまして、この情報最高です! 背景を白…
y__@ Re:uwscでGUIフォーム(05/12) UWSC 仮掲示板から飛んできました。 HTAで…

フリーページ

2020.03.12
XML
カテゴリ: powershell
powershellの関数やスクリプトで可変個の引数を利用する場合、組み込み変数$ARGSでパラメーターにアクセスできます。
大抵はそれでいいんだけど、困ったことが起きました。
一部の引数のみ必須にして、残りは可変個というのがどうもうまくできないんです。

function foo{
  param(
    [parameter(mandatory=$true)]$MustArg
  )
  "Mandatory Argument=$MustArg"
  "Other Arguments=$ARGS"


foo abc def ghi

とやると、「引数 'def' を受け入れる位置指定パラメーターが見つかりません。」のエラーが。mandatoryとか関係なく、[parameter()]を付けると、その関数(スクリプト)に余計な引数を与えるとエラーになるようです。
あちこちググって、​ 参考サイト ​を見つけました。

function hoge{
    param(
        [parameter(mandatory=$true)][string]$FirstArg,
        [parameter(ValueFromRemainingArguments=$true)]$others
    )
    $others
}


残りの引数が、$others[]配列に入ってくれます。一方、$ARGSは空っぽのままのようです。





お気に入りの記事を「いいね!」で応援しよう

最終更新日  2020.03.12 12:29:23
コメント(0) | コメントを書く
[powershell] カテゴリの最新記事


【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! -- / --
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x
X

© Rakuten Group, Inc.
X
Design a Mobile Website
スマートフォン版を閲覧 | PC版を閲覧
Share by: