前スレ
PowerShell -Part 3
https://mevius.5ch.net/test/read.cgi/tech/1539074808/
次スレは>>980が立ててね!!
探検
PowerShell -Part 4
レス数が1000を超えています。これ以上書き込みはできません。
2020/01/01(水) 16:08:31.66ID:4oQ1Kxot
971デフォルトの名無しさん
2021/03/02(火) 00:20:13.77ID:NQgDi+il #test.ps1
param([array]$foo)
echo ('$ARGS[0]' +':'+ $ARGS[0])
echo ('$foo[0]' +':'+ $foo[0])
echo ('$foo[1]' +':'+ $foo[1])
echo ('$foo[2]' +':'+ $foo[2])
PS> .\test.ps1 aaa -foo bbb,ccc,ddd
$ARGS[0]:aaa
$foo[0]:bbb
$foo[1]:ccc
$foo[2]:ddd
PS> .\test.ps1 aaa -bar bbb,ccc,ddd
$ARGS[0]:-bar
$foo[0]:aaa
$foo[1]:
$foo[2]:
PS C:\script>
PS> \test.ps1 aaa
$ARGS[0]:
$foo[0]:aaa
$foo[1]:
$foo[2]:
@引数やパラメータの数、パラメーター名などのエラーをチェックする方法を教えてください。
Aパラメータの区切りをカンマで無くスペースにする方法があれば教えてください。
ググってみたのですが、ググり方が悪いのか、見つからず苦しんでおります
param([array]$foo)
echo ('$ARGS[0]' +':'+ $ARGS[0])
echo ('$foo[0]' +':'+ $foo[0])
echo ('$foo[1]' +':'+ $foo[1])
echo ('$foo[2]' +':'+ $foo[2])
PS> .\test.ps1 aaa -foo bbb,ccc,ddd
$ARGS[0]:aaa
$foo[0]:bbb
$foo[1]:ccc
$foo[2]:ddd
PS> .\test.ps1 aaa -bar bbb,ccc,ddd
$ARGS[0]:-bar
$foo[0]:aaa
$foo[1]:
$foo[2]:
PS C:\script>
PS> \test.ps1 aaa
$ARGS[0]:
$foo[0]:aaa
$foo[1]:
$foo[2]:
@引数やパラメータの数、パラメーター名などのエラーをチェックする方法を教えてください。
Aパラメータの区切りをカンマで無くスペースにする方法があれば教えてください。
ググってみたのですが、ググり方が悪いのか、見つからず苦しんでおります
972デフォルトの名無しさん
2021/03/02(火) 00:22:05.89ID:NQgDi+il >>971
行数制限に引っかかったので分割します。
@は引数〇個、パラメーター名foo、パラメーターfooの数、fooが1個以上(0はだめ)というのをチェックしたいです。
なにとぞよろしくお願いいたします。
行数制限に引っかかったので分割します。
@は引数〇個、パラメーター名foo、パラメーターfooの数、fooが1個以上(0はだめ)というのをチェックしたいです。
なにとぞよろしくお願いいたします。
973デフォルトの名無しさん
2021/03/02(火) 10:00:39.98ID:TaWWQOJL >>972
about_Functions_Advanced_Parameters
https://docs.microsoft.com/ja-jp/previous-versions/windows/powershell-scripting/hh847743(v=wps.640)
about_Functions_Advanced_Parameters
https://docs.microsoft.com/ja-jp/previous-versions/windows/powershell-scripting/hh847743(v=wps.640)
974デフォルトの名無しさん
2021/03/02(火) 23:49:57.97ID:NQgDi+il975デフォルトの名無しさん
2021/03/03(水) 03:07:24.22ID:hWQCqBl5 そもそもPowerShellの関数(コマンドレット)は空白区切りで引数渡すんだけどね
>>971はカンマ区切りで引数を渡してるんじゃなくて、カンマで作った配列を渡してるだけ
自動変数の$args(配列)はjavascriptでいう残余引数みたいな物
PS> .\test.ps1 aaa -foo bbb,ccc,ddd
名前付き引数 $foo に配列 bbb,ccc,ddd が渡され、未定義の aaa が $args に渡されてる
PS> .\test.ps1 aaa -bar bbb,ccc,ddd
$foo に先頭の引数 aaa が渡され、未定義の -bar と配列 bbb,ccc,ddd が $args に渡される
特にオプションを指定しなければ、複数の引数を設定すれば空白区切りで渡せる
>>971はカンマ区切りで引数を渡してるんじゃなくて、カンマで作った配列を渡してるだけ
自動変数の$args(配列)はjavascriptでいう残余引数みたいな物
PS> .\test.ps1 aaa -foo bbb,ccc,ddd
名前付き引数 $foo に配列 bbb,ccc,ddd が渡され、未定義の aaa が $args に渡されてる
PS> .\test.ps1 aaa -bar bbb,ccc,ddd
$foo に先頭の引数 aaa が渡され、未定義の -bar と配列 bbb,ccc,ddd が $args に渡される
特にオプションを指定しなければ、複数の引数を設定すれば空白区切りで渡せる
976デフォルトの名無しさん
2021/03/12(金) 15:14:39.63ID:VgGpSMHu PowerShell起動すると毎回更新しろって出るのがウザくて7入れてみたけど起動時の立ち上がりが遅くなって切れそう
しかも結局help云々が毎回出るし
MS頭おかしいんでねーの
しかも結局help云々が毎回出るし
MS頭おかしいんでねーの
977デフォルトの名無しさん
2021/03/12(金) 19:40:18.23ID:gsxqF2ed おバカ自慢要らね
978デフォルトの名無しさん
2021/03/13(土) 10:00:11.18ID:fu8qQk1O979デフォルトの名無しさん
2021/03/13(土) 14:33:26.87ID:LuYPD+lh | where-objectで、条件に引っかかったら0(True)、引っかからなかったら1(False)を返す方法ってありませんでしょうか。
あるサービスの実行状態を知るために、こういうことをしてるんですが、
(Get-Service | Where-Object -Property Name -Match Adobe | Where-Object -Property Status -Match Running).length
1 ←AdobeがRunnningだった
0 ←AdobeがRunningじゃなかった
他に、もっとPowershellっぽい書き方があったら教えてください
あるサービスの実行状態を知るために、こういうことをしてるんですが、
(Get-Service | Where-Object -Property Name -Match Adobe | Where-Object -Property Status -Match Running).length
1 ←AdobeがRunnningだった
0 ←AdobeがRunningじゃなかった
他に、もっとPowershellっぽい書き方があったら教えてください
980デフォルトの名無しさん
2021/03/13(土) 14:59:52.96ID:4/YYKqK7 >>979
ワンライナーにこだわっているのか?
ワンライナーにこだわっているのか?
981デフォルトの名無しさん
2021/03/13(土) 15:31:11.30ID:33EHGK5P Ruby の3項演算子みたいなものは無いの?
真偽値となる条件式 ? 真の時の値 : 偽の時の値
真偽値となる条件式 ? 真の時の値 : 偽の時の値
982デフォルトの名無しさん
2021/03/13(土) 15:36:01.07ID:ErfpRTBJ (gsv adobe*).status -contains 'running'
983デフォルトの名無しさん
2021/03/13(土) 15:48:12.79ID:Qa5+c/Kf >>979
[int][bool](Get-Service | Where-Object {($_.Name -Match 'Adobe') -and ($_.Status -Match 'Running')})
[int][bool](Get-Service | Where-Object {($_.Name -Match 'Adobe') -and ($_.Status -Match 'Running')})
984デフォルトの名無しさん
2021/03/13(土) 20:59:36.95ID:3roljCwu985デフォルトの名無しさん
2021/03/14(日) 15:40:02.21ID:am3+IzSP PowerShellは処理の方法が多くていいな
986デフォルトの名無しさん
2021/03/14(日) 21:46:47.24ID:8YYOAayf 連想配列の参照渡しで
function f([ref]$h) { $h.value }
$h = @{ a = 0; b = 1}
f([ref]$h)
はうまくいくんだけど、引数もう一個増やして
function f([ref]$h, $s) { $h.value; $s }
$h = @{ a = 0; b = 1}
$s = 2
f([ref]$h, $s)
にすると、
f : パラメーター 'h' の引数変換を処理できません。引数には参照型を指定する必要があります。
何が悪いん?ググっても見つけられなくてさっきから悩んでる(汗
function f([ref]$h) { $h.value }
$h = @{ a = 0; b = 1}
f([ref]$h)
はうまくいくんだけど、引数もう一個増やして
function f([ref]$h, $s) { $h.value; $s }
$h = @{ a = 0; b = 1}
$s = 2
f([ref]$h, $s)
にすると、
f : パラメーター 'h' の引数変換を処理できません。引数には参照型を指定する必要があります。
何が悪いん?ググっても見つけられなくてさっきから悩んでる(汗
987デフォルトの名無しさん
2021/03/14(日) 21:55:49.94ID:8nGQn8Lf 括弧とカンマいらないのでは
988デフォルトの名無しさん
2021/03/14(日) 22:41:43.33ID:T+RcbFBu f ([ref]$h) $s
989デフォルトの名無しさん
2021/03/14(日) 23:07:21.02ID:8YYOAayf990デフォルトの名無しさん
2021/03/15(月) 15:30:15.42ID:2OtrSpOH カッコとカンマで引数渡すのはオブジェクトのメソッドの時だけだね
関数はスペース区切りで渡す
これは文法だから理由はない
関数はスペース区切りで渡す
これは文法だから理由はない
991デフォルトの名無しさん
2021/03/15(月) 16:45:16.26ID:bRJV5TtK 1, 2 で配列作っちゃうようにしちゃったからねぇ
記法がシェルスクリプトとプログラム言語のあいの子みたいになってるからちょっと直感に反する所がちらほら見え隠れするのはしょうがない
記法がシェルスクリプトとプログラム言語のあいの子みたいになってるからちょっと直感に反する所がちらほら見え隠れするのはしょうがない
992デフォルトの名無しさん
2021/03/16(火) 23:02:58.87ID:Bd62bkLQ993デフォルトの名無しさん
2021/03/17(水) 08:00:24.75ID:EzeD0xtp 俺がPowerShellを気に入ったのはPerlと同じ匂いを感じたからだ
994デフォルトの名無しさん
2021/03/17(水) 08:19:50.03ID:vnLGIRIV しかしPerlではないのがいいところ
995デフォルトの名無しさん
2021/03/17(水) 08:38:00.89ID:sqd1XF3h Why did you do that? $VAR/ {} / Weak Intellisense
https://docs.microsoft.com/en-us/archive/blogs/monad/why-did-you-do-that-var-weak-intellisense
The $ in front of variables comes from our design center of being an interactive command oriented shell.
Interactive shells are NOT the same thing as Scripting languages with command interpretors.
Interactive shells are case studies in engineering tradeoffs (another way of saying that is that they tend to be a little quirky).
There is a tension between the needs of a great interactive experience and a great scripting/programming experience.
Time and time again during the course of the project, people would try to make us "choose" between one or the other.
We refused.
We believe that if you work hard enough at it, you can solve the puzzle and provide a great solution for both.
We were absolutely subborn on this point. Time and time again, we were able to succeed with this approach if we travailed long enough.
https://docs.microsoft.com/en-us/archive/blogs/monad/why-did-you-do-that-var-weak-intellisense
The $ in front of variables comes from our design center of being an interactive command oriented shell.
Interactive shells are NOT the same thing as Scripting languages with command interpretors.
Interactive shells are case studies in engineering tradeoffs (another way of saying that is that they tend to be a little quirky).
There is a tension between the needs of a great interactive experience and a great scripting/programming experience.
Time and time again during the course of the project, people would try to make us "choose" between one or the other.
We refused.
We believe that if you work hard enough at it, you can solve the puzzle and provide a great solution for both.
We were absolutely subborn on this point. Time and time again, we were able to succeed with this approach if we travailed long enough.
996デフォルトの名無しさん
2021/03/17(水) 11:52:58.50ID:eAjGywmP interactive性は'標準で'エイリアスが定義されてることで十分満足してる
997デフォルトの名無しさん
2021/03/18(木) 00:08:54.40ID:t06qOp3P PerlとPythonは文字に対するencode, decodeの意味が逆。まめな
998デフォルトの名無しさん
2021/03/18(木) 00:30:47.74ID:/MpReTiX999デフォルトの名無しさん
2021/03/18(木) 00:39:40.12ID:3weRgygV >>998
ナイス滑り込み
ナイス滑り込み
1000デフォルトの名無しさん
2021/03/18(木) 01:34:48.09ID:dIgskCmL 質問良いですか
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 441日 9時間 26分 17秒
新しいスレッドを立ててください。
life time: 441日 9時間 26分 17秒
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- 【給食無償化】国が全額負担 自維公3党、近く合意へ [ぐれ★]
- 「レーダー照射」なぜ中国は素直に謝罪しないのか 非を認めず反論、逆ギレ「ごめんなさい」と言えない国情★2 [七波羅探題★]
- こども家庭庁、2026年から“独身税”を開始、年収200万なら年4200円、年収400万なら年7800円 ★6 [お断り★]
- 40代教員、1億8600万円分の暗号資産だまし取られる 「警察手帳のような物」見せられ−滋賀県草津市 [蚤の市★]
- 松村沙友理、スタバは好きだけど「やっぱコーヒーに700円800円が…」「家でお湯わかしてやったらタダやん」 [muffin★]
- 【ラブホ】小川晶前市長、出直し立候補意向 周囲に伝達 群馬・前橋市長選 [ぐれ★]
- 全員ぶっ殺すお🏡
- 高市早苗「為替は色んな要因で市場が決めるもの、私のせいじゃないわよ!」 [972432215]
- 【実況】博衣こよりのえちえちダンガンロンパ2🧪★4
- 日本、ガチで終焉。資材高騰と人手不足で全国各地で再開発ストップwwwwwwwwwwwwwwwww [271912485]
- 死んだら意識なくなるのかな?
- お前らってスマホケース手帳型?非手帳型?
