[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 12/12 00:59 / Filesize : 319 KB / Number-of Response : 1011
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

PowerShell -Part 4



1 名前:デフォルトの名無しさん mailto:sage [2020/01/01(水) 16:08:31.66 ID:4oQ1Kxot.net]
前スレ
PowerShell -Part 3
https://mevius.5ch.net/test/read.cgi/tech/1539074808/

次スレは>>980が立ててね!!

976 名前:デフォルトの名無しさん mailto:sage [2021/02/23(火) 08:20:29.72 ID:XBzTqCMZ.net]
posh-git と GetChildItemColor
でダイブましになった

他にもおすすめあったらおせーて!

977 名前:デフォルトの名無しさん mailto:sage [2021/02/23(火) 20:50:03.67 ID:8GGn/OTs.net]
GetChildItemColorを入れるとシンボリックリンクのリンク先のパスが表示されなくなるのがクソ

978 名前:デフォルトの名無しさん mailto:sage [2021/03/02(火) 00:20:13.77 ID:NQgDi+il.net]
#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パラメータの区切りをカンマで無くスペースにする方法があれば教えてください。

ググってみたのですが、ググり方が悪いのか、見つからず苦しんでおります

979 名前:デフォルトの名無しさん mailto:sage [2021/03/02(火) 00:22:05.89 ID:NQgDi+il.net]
>>974
行数制限に引っかかったので分割します。

@は引数〇個、パラメーター名foo、パラメーターfooの数、fooが1個以上(0はだめ)というのをチェックしたいです。

なにとぞよろしくお願いいたします。

980 名前:デフォルトの名無しさん mailto:sage [2021/03/02(火) 10:00:39.98 ID:TaWWQOJL.net]
>>975
about_Functions_Advanced_Parameters
https://docs.microsoft.com/ja-jp/previous-versions/windows/powershell-scripting/hh847743(v=wps.640)

981 名前:デフォルトの名無しさん mailto:sage [2021/03/02(火) 23:49:57.97 ID:NQgDi+il.net]
>>976
ありがとうございます。
読み解くのに時間がかかりそうですが、
希望のものが書いてありそうです。

982 名前:デフォルトの名無しさん mailto:sage [2021/03/03(水) 03:07:24.22 ID:hWQCqBl5.net]
そもそもPowerShellの関数(コマンドレット)は空白区切りで引数渡すんだけどね
>>974はカンマ区切りで引数を渡してるんじゃなくて、カンマで作った配列を渡してるだけ
自動変数の$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 に渡される

特にオプションを指定しなければ、複数の引数を設定すれば空白区切りで渡せる

983 名前:デフォルトの名無しさん mailto:sage [2021/03/12(金) 15:14:39.63 ID:VgGpSMHu.net]
PowerShell起動すると毎回更新しろって出るのがウザくて7入れてみたけど起動時の立ち上がりが遅くなって切れそう
しかも結局help云々が毎回出るし
MS頭おかしいんでねーの

984 名前:デフォルトの名無しさん mailto:sage [2021/03/12(金) 19:40:18.23 ID:gsxqF2ed.net]
おバカ自慢要らね



985 名前:デフォルトの名無しさん mailto:sage [2021/03/13(土) 10:00:11.18 ID:fu8qQk1O.net]
v7.0.6
https://github.com/PowerShell/PowerShell/releases/tag/v7.0.6
v7.1.3
https://github.com/PowerShell/PowerShell/releases/tag/v7.1.3

986 名前:デフォルトの名無しさん mailto:sage [2021/03/13(土) 14:33:26.87 ID:LuYPD+lh.net]
| 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がRunnin

987 名前:gじゃなかった

他に、もっとPowershellっぽい書き方があったら教えてください
[]
[ここ壊れてます]

988 名前:デフォルトの名無しさん [2021/03/13(土) 14:59:52.96 ID:4/YYKqK7.net]
>>982
ワンライナーにこだわっているのか?

989 名前:デフォルトの名無しさん mailto:sage [2021/03/13(土) 15:31:11.30 ID:33EHGK5P.net]
Ruby の3項演算子みたいなものは無いの?

真偽値となる条件式 ? 真の時の値 : 偽の時の値

990 名前:デフォルトの名無しさん mailto:sage [2021/03/13(土) 15:36:01.07 ID:ErfpRTBJ.net]
(gsv adobe*).status -contains 'running'

991 名前:デフォルトの名無しさん mailto:sage [2021/03/13(土) 15:48:12.79 ID:Qa5+c/Kf.net]
>>982
[int][bool](Get-Service | Where-Object {($_.Name -Match 'Adobe') -and ($_.Status -Match 'Running')})

992 名前:デフォルトの名無しさん mailto:sage [2021/03/13(土) 20:59:36.95 ID:3roljCwu.net]
>>984
三項演算子
https://docs.microsoft.com/ja-jp/powershell/scripting/whats-new/what-s-new-in-powershell-70#ternary-operator

993 名前:デフォルトの名無しさん mailto:sage [2021/03/14(日) 15:40:02.21 ID:am3+IzSP.net]
PowerShellは処理の方法が多くていいな

994 名前:デフォルトの名無しさん mailto:sage [2021/03/14(日) 21:46:47.24 ID:8YYOAayf.net]
連想配列の参照渡しで
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' の引数変換を処理できません。引数には参照型を指定する必要があります。
何が悪いん?ググっても見つけられなくてさっきから悩んでる(汗



995 名前:デフォルトの名無しさん mailto:sage [2021/03/14(日) 21:55:49.94 ID:8nGQn8Lf.net]
括弧とカンマいらないのでは

996 名前:デフォルトの名無しさん mailto:sage [2021/03/14(日) 22:41:43.33 ID:T+RcbFBu.net]
f ([ref]$h) $s 

997 名前:デフォルトの名無しさん mailto:sage [2021/03/14(日) 23:07:21.02 ID:8YYOAayf.net]
>>991
出来た!ありがとう
でもなぜその書き方になるのかわからない(汗

998 名前:デフォルトの名無しさん mailto:sage [2021/03/15(月) 15:30:15.42 ID:2OtrSpOH.net]
カッコとカンマで引数渡すのはオブジェクトのメソッドの時だけだね
関数はスペース区切りで渡す

これは文法だから理由はない

999 名前:デフォルトの名無しさん mailto:sage [2021/03/15(月) 16:45:16.26 ID:bRJV5TtK.net]
1, 2 で配列作っちゃうようにしちゃったからねぇ
記法がシェルスクリプトとプログラム言語のあいの子みたいになってるからちょっと直感に反する所がちらほら見え隠れするのはしょうがない

1000 名前:デフォルトの名無しさん [2021/03/16(火) 23:02:58.87 ID:Bd62bkLQ.net]
>>988
処理の方法が多いことは、可読性が落ちる原因にもなる。
PythonをもちあげてPerlをくさす時に使われたのと同じ論法だよ。

1001 名前:デフォルトの名無しさん mailto:sage [2021/03/17(水) 08:00:24.75 ID:EzeD0xtp.net]
俺がPowerShellを気に入ったのはPerlと同じ匂いを感じたからだ

1002 名前:デフォルトの名無しさん mailto:sage [2021/03/17(水) 08:19:50.03 ID:vnLGIRIV.net]
しかしPerlではないのがいいところ

1003 名前:デフォルトの名無しさん mailto:sage [2021/03/17(水) 08:38:00.89 ID:sqd1XF3h.net]
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.

1004 名前:デフォルトの名無しさん mailto:sage [2021/03/17(水) 11:52:58.50 ID:eAjGywmP.net]
interactive性は'標準で'エイリアスが定義されてることで十分満足してる



1005 名前:デフォルトの名無しさん mailto:sage [2021/03/18(木) 00:08:54.40 ID:t06qOp3P.net]
PerlとPythonは文字に対するencode, decodeの意味が逆。まめな

1006 名前:デフォルトの名無しさん mailto:sage [2021/03/18(木) 00:30:47.74 ID:/MpReTiX.net]
PowerShell -Part 5
https://mevius.5ch.net/test/read.cgi/tech/1615994992/

次スレ。

1007 名前:デフォルトの名無しさん mailto:sage [2021/03/18(木) 00:39:40.12 ID:3weRgygV.net]
>>1001
ナイス滑り込み

1008 名前:デフォルトの名無しさん mailto:sage [2021/03/18(木) 01:34:48.09 ID:dIgskCmL.net]
質問良いですか

1009 名前:1001 [Over 1000 Thread.net]
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 441日 9時間 26分 17秒

1010 名前:過去ログ ★ [[過去ログ]]
■ このスレッドは過去ログ倉庫に格納されています






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](;´∀`)<319KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef