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


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

【最強CUI】PowerShell -Part 2



1 名前:デフォルトの名無しさん mailto:sage [2016/11/26(土) 06:30:02.67 ID:pZYy6q7Y.net]
前スレ
【最強CUI】PowerShell -Part 1
echo.2ch.net/test/read.cgi/tech/1378978504/

231 名前:デフォルトの名無しさん mailto:sage [2017/08/09(水) 16:48:34.81 ID:xf4P4t8V.net]
好みや流儀より、単純にパイプの方がメンテナンス性が優れてるよ
>>214は実際やってみると小数点以下の羅列の後に"MB"が付いて見苦しくなる
でもパイプなら一部の修正だけですむ
%{"$($_)MB"} を %{"{0:.00}MB" -f $_} とか、
四捨五入して %{[math]::Floor($_+0.5)} | %{"$($_)MB"} とか
214の上でこれやろうとするとカッコばかりで暗号のようになる

232 名前:デフォルトの名無しさん mailto:sage [2017/08/09(水) 16:52:13.45 ID:xf4P4t8V.net]
>>220
それはまたちょっと違う問題だね
その場合はこうやって強制的に配列にしろと教えられたよ

$txt = @(ls *.txt)

233 名前:デフォルトの名無しさん mailto:sage [2017/08/09(水) 17:52:19.40 ID:/WbeABcG.net]
パイプの方がPowerShellらしいコードだと思う

234 名前:デフォルトの名無しさん mailto:sage [2017/08/09(水) 18:25:18.43 ID:Dx5GkAI7.net]
>>223
俺もそう思う
とにかくパイプで処理を繋げていくのが

235 名前:PowerShell流 []
[ここ壊れてます]

236 名前:デフォルトの名無しさん mailto:sage [2017/08/09(水) 18:47:27.63 ID:veHAq/rO.net]
>>222
配列かスカラーか返される物が状況によって変わる気持ち悪さは昔からあちこちで散々言われてるね

237 名前:デフォルトの名無しさん mailto:sage [2017/08/09(水) 19:38:02.86 ID:LnmC5B+P.net]
>>221
暗号ねぇ w
Write-Host ("{0:0.00}MB" -f (gps chrome | Measure-Object PM -sum).sum / 1mb))
ちなみに書式変換時は元々四捨五入なのでFloorとかは要らんよ

238 名前:デフォルトの名無しさん mailto:sage [2017/08/09(水) 19:41:50.81 ID:LnmC5B+P.net]
>>225
配列を便利に扱えるようにしてるのはわかるけどちょっとやり過ぎかな
-eq 演算子なんてトラップ以外の何者でもないだろ
あと全然関係ないけど -isnull 演算子が欲しい

239 名前:デフォルトの名無しさん mailto:sage [2017/08/09(水) 19:46:51.80 ID:xf4P4t8V.net]
>>226
[int]だけで四捨五入になるのは知ってるけど、分かりやすくした

暗号は言い過ぎたかもしれんが、そんなん書くより一度変数に入れたくならんか?w



240 名前:デフォルトの名無しさん mailto:sage [2017/08/09(水) 19:55:36.34 ID:xf4P4t8V.net]
>>226
つか、カッコ一つ足らないw
あんた自身混乱してるわ

241 名前:デフォルトの名無しさん mailto:sage [2017/08/09(水) 20:10:17.94 ID:LnmC5B+P.net]
>>228
> そんなん書くより一度変数に入れたくならんか?w
この程度でなるか?
って話
程度は人によって違うからまあ好きにしなよ

>>229
スマホから書き込んでるから細かいところは目を瞑ってくれ

242 名前:デフォルトの名無しさん mailto:sage [2017/08/09(水) 21:53:40.19 ID:VOmW1luq.net]
課長 「SumをMBで出してくれ」
A君 "{0:0.00}MB" -f ((gps chrome | Measure-Object PM -sum).sum / 1mb)
B君 gps chrome | Measure-Object PM -sum | %{[String]::format("{0:0.00}MB", $_.sum/1mb)}

課長 「すばらしい! じゃあついでにMax値とMin値もMBで出してちょうだい」
A君 「ぐぬぬ・・・」
B君 gps chrome | Measure-Object PM -sum -Maximum -Minimum | %{[String]::format("Sum: {0:0.00}MB`nMax: {1:0.00}MB`nMin: {2:0.00}MB", ($_.sum, $_.maximum, $_.minimum | %{$_/1mb}) )}
明美 「きゃーB君ステキ ブッチュー」

243 名前:デフォルトの名無しさん mailto:sage [2017/08/09(水) 23:08:02.45 ID:VOmW1luq.net]
C君 gps chrome | Measure-Object PM -sum -Maximum -Minimum | %{$_.sum, $_.maximum, $_.minimum | %{$_/1mb}} | %{"{0:0.00}MB" -f $_}
明美 「キャー 抱いてぇー」

244 名前:デフォルトの名無しさん mailto:sage [2017/08/10(木) 00:28:12.53 ID:6XCllBcj.net]
自分ならこうするかな
一行で書かなきゃいけないルールでもあるのか、その会社は

gps vivaldi | Measure-Object PM -sum -Maximum -Minimum| %{
foreach($i in 'Sum','Maximum','Minimum'){
"{0}: {1:0.00}MB" -f $i.Substring(0,3),($_.$i/1mb)
}
}

245 名前:デフォルトの名無しさん mailto:sage [2017/08/10(木) 06:39:07.15 ID:G39ZUl5R.net]
課長 「きゃーステキー ブッチュー」

246 名前:デフォルトの名無しさん mailto:sage [2017/08/11(金) 16:26:51.20 ID:99wg1jHM.net]
>>231
課長「ああ、あと個数もお願いね」

247 名前:デフォルトの名無しさん mailto:sage [2017/08/13(日) 11:23:55.65 ID:i2h5TtLX.net]
多少は実用的なやつを。サブスレッドも合計してメモリ食ってるアプリのトップ3

Get-Process|Group Name|%{$_|Add-Member Length ($_.group|measure PM -Sum|%{$_.sum}) -PassThru}|
sort length -Descending|select -First 3|%{'{0}: {1:#,0.}MB'-f $_.name,($_.length/1mb)}

248 名前:デフォルトの名無しさん mailto:sage [2017/08/16(水) 20:21:19.54 ID:TEzkLuqt.net]
初心者ですが質問です
ISEでデバックした時とスクリプトで実行した時で
GUI?の見た目が違うのですが(スクリプト実行だとGUIが古い感じ)
デバックしてる時と同じGUIにするにはどうすれば良いのでしょうか?

249 名前:デフォルトの名無しさん [2017/08/16(水) 20:46:46.65 ID:qxnt2v0K.net]
>>237
デバッグね



250 名前:デフォルトの名無しさん mailto:sage [2017/08/20(日) 16:38:06.37 ID:+qRmeWmG.net]
「マイクロソフト社製の基本ソフトを使うパソコン
に搭載されたシステム管理機能パワーシェル(PS)を操る(中略)
ファイルレス攻撃は、実行形式でないLN

251 名前:Kなど別の拡張子のファイルが添付されている。
ウイルスの本体ではないため、単体では情報収集などの目的を果たせないが、
PSに命令する不正プログラムが含まれている(中略)
ウイルスを勝手にダウンロード(中略)
自分の存在を隠す」

「ファイルレス」見えないサイバー攻撃急増 政府・金融機関など標的(1/3ページ) - 産経ニュース
http://www.sankei.com/affairs/news/170820/afr1708200002-n1.html
2017.8.20 06:38
[]
[ここ壊れてます]

252 名前:デフォルトの名無しさん [2017/09/05(火) 17:17:36.30 ID:NCuJt1Zi.net]
>>237
スクリプトで実行って関連付けで実行ってこと?
ISEとはUIが別ものだと思うけど

253 名前:デフォルトの名無しさん mailto:sage [2017/09/05(火) 17:21:04.29 ID:NCuJt1Zi.net]
>>237
ISEに関連付けするってことかな
おもすぎるしやったことないけど

254 名前:237 mailto:sage [2017/09/08(金) 18:15:40.23 ID:fHkqyhXS.net]
>>240
レスありがとうございます
https://letspowershell.blogspot.jp/2015/07/powershell_9.html
こちらのブログで質問させて頂きまして無事解決しました

[System.Windows.Forms.Application]::EnableVisualStyles();
を追加して無事デバッグと同じフォームになりました

255 名前:デフォルトの名無しさん mailto:sage [2017/09/08(金) 18:46:32.46 ID:v1oxBnRc.net]
質問です

set-location でパスを入力する時、日本語が含まれていると文字化けしてしまい
「Set-Location : パス 'C:\Users\nashi\Desktop\SHO\PDF 繧「繝励Μ' が存在しないため検出できません。」
と言われてしまいます。

バッチファイル?からではなく、powershellに直接入力した時は起こらないのですが
どうしても回避する方法がわかりません。

どなたか分からないでしょうか。

256 名前:デフォルトの名無しさん mailto:sage [2017/09/09(土) 09:51:54.02 ID:JyXabSQN.net]
ファイルのエンコードじゃね

257 名前:デフォルトの名無しさん mailto:sage [2017/10/08(日) 02:33:38.64 ID:L3khK+9u.net]
画面のスナップショットをF9キー辺りに割り当てて、
キーを押す度に連番ファイルとして保存したいんだけど
powershellで簡単にできたりする?

258 名前:デフォルトの名無しさん mailto:sage [2017/10/08(日) 13:06:48.18 ID:HosRocIl.net]
>>245
> 画面のスナップショットをF9キー辺りに割り当てて、
PowerShellを呼び出すバッチファイルを書いてショートカットで呼び出すように設定
https://s.news.mynavi.jp/articles/2011/01/25/memo/002.html

> キーを押す度に連番ファイルとして保存したいんだけど
https://stackoverflow.com/questions/2969321/how-can-i-do-a-screen-capture-in-windows-powershell

259 名前:デフォルトの名無しさん mailto:sage [2017/10/08(日) 17:51:50.69 ID:L3khK+9u.net]
ありがとうございます。無事完成しました。



260 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 15:36:12.56 ID:aT/bMCXY.net]
ps1ファイルの関連付けとか弄らずに、ダブルクリックで実行させたい場合って
wscriptのrunとかから呼ぶのが一般的ですか?(ファイルが2つになってしまう感じですか?)

261 名前:デフォルトの名無しさん [2017/10/09(月) 18:30:22.51 ID:lHNYO6zv.net]
>>248
バッチファイルの存在を無視ですか?

262 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 18:32:07.85 ID:aT/bMCXY.net]
>>249
コンソール窓が一瞬出るのが嫌なのでwscriptから呼んでます

263 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 19:54:07.67 ID:nfbSpXzR.net]
>>248
ExecutionPolicyも指定してラップできるから便利だね
ShellExecuteでrunas指定すれば管理権限で実行もできるし

264 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 20:38:58.18 ID:pi4w3jwR.net]
powershell.exeショートカットにオプション直書きで十分

265 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 21:06:20.91 ID:TUH4S8FX.net]
PSをダブルクリックで実行できれば便利だが
つねにそれが良いとは限らない

書きかけのバッチをうっかり実行して
データやマシンがおかしくなる場合もありえる

266 名前:デフォルトの名無しさん [2017/10/10(火) 10:39: ]
[ここ壊れてます]

267 名前:20.69 ID:Lm1TOsWr.net mailto: >>253
そんなレベルの人は他のことをしていてください。
[]
[ここ壊れてます]

268 名前:デフォルトの名無しさん [2017/10/10(火) 10:40:53.91 ID:Lm1TOsWr.net]
だいたい間違って実行してしまわないようにクリックで実行できないようになっているというのに。

269 名前:デフォルトの名無しさん mailto:sage [2017/10/10(火) 12:17:00.45 ID:FT16hdt/.net]
batもWSHもできるのにps1だけ対応しない理由はなんだろね
ポリシーなんてどうとでもなるのに



270 名前:デフォルトの名無しさん mailto:sage [2017/10/10(火) 17:50:27.32 ID:O+aWn4bz.net]
>>252
ショートカットって記述的じゃないから嫌なんだよね
ショートカット作っても2ファイルだし、
それなら初めからwscriptから起動するよ

271 名前:デフォルトの名無しさん mailto:sage [2017/10/10(火) 17:52:15.08 ID:O+aWn4bz.net]
記述的じゃないってのはちと違うか。
テキストベースで完結しないって意味ね

272 名前:デフォルトの名無しさん mailto:sage [2017/10/10(火) 18:09:29.72 ID:ACpNi8fa.net]
>>254
いろんな事態を想定できない方がレベルが低いよ

>>256
普通のプログラミング言語のソースは
直接実行できないでしょ

>>257
記述的というならコマンドラインは記述的で良い

273 名前:デフォルトの名無しさん mailto:sage [2017/10/10(火) 20:30:07.68 ID:+oAYtlnk.net]
今のところ右クリック→実行してもらうのが安全性からも利便性からもバランスが良い

274 名前:デフォルトの名無しさん [2017/10/11(水) 23:32:55.89 ID:rnTDWqK2.net]
Powershellのスクリプトは部品だからどっかから呼ぶのでいいんだよ
単体起動するようなもんじゃないね

275 名前:デフォルトの名無しさん mailto:sage [2017/10/12(木) 01:44:18.85 ID:bkFDlrr0.net]
>>259
たぶん、右クリックで表示される「Powershellで実行」という項目を見ないで
電話してくれるユーザーへの対応の話だと思う

ダブルクリックしたらなんか開いたふざけんな、実行しない、バグだ、と内線で……

276 名前:デフォルトの名無しさん mailto:sage [2017/10/12(木) 01:46:34.74 ID:bkFDlrr0.net]
とりあえず関数切ったら引数に , つけるのか付けないのかは統一してほしい気分……
たまに間違う(function定義のほうだと , いるやん)

まぁbashとかでも似たようなもんで、俺の練度の問題かも知らんが

277 名前:デフォルトの名無しさん mailto:sage [2017/10/12(木) 03:29:50.53 ID:BE/Y4M/4.net]
ダブルクリックだけで実行されて、システムが故障したら、
損害賠償しなければならない

そもそも、ダブルクリックだけで、スクリプトが実行されたら、
極めて危険だから、納品の基準を満たしていないし、損害賠償が確実

278 名前:デフォルトの名無しさん mailto:sage [2017/10/12(木) 12:35:03.43 ID:4QKX7vcz.net]
実行して危険なモノならpsじゃなくても確認手段ぐらいその中に入れとくでしょ
前提がおかしいと思う

279 名前:デフォルトの名無しさん mailto:sage [2017/10/12(木) 12:41:05.39 ID:C4JHmerz.net]
>>265
クスクス



280 名前:デフォルトの名無しさん [2017/10/12(木) 20:14:39.20 ID:rmq6lCFL.net]
クリックで誤って実行してしまう点がよくないとマイクロソフトも思ったからクリックで実行できないようにさてるんだけどな。

281 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 20:09:44.69 ID:ESvMC/no.net]
exeにすればいいじゃない

282 名前:デフォルトの名無しさん mailto:sage [2017/10/25(水) 11:25:59.45 ID:fPe3kbbb.net]
負荷テストのために下記コードを書いて見ましたがこれって音は全部鳴ってるのかな?
# 下記サイトより効果音をお借りしました。
# maoudamashii.jokersounds.com/archives/se_maoudamashii_explosion06.html
# d:\indexフォルダは好きなように変更してください。
$loopcont = 128
$list = New-Object 'System.Collections.Generic.List[System.Media.SoundPlayer]'
for ($i=0; $i -lt $loopcont; $i++){
$a = New-Object Media.SoundPlayer("d:\Index\se_maoudamashii_explosion06.wav")
$list.Add($a)
#$list[$i] = New-Object Media.SoundPlayer("d:\Index\se_maoudamashii_explosion06.wav")
Write-Output "サウンド $i を追加しました。"
}
for ($i=0; $i -lt $loopcont; $i++){
$list[$i].PlayLooping()
Write-Output "サウンド $i を再生しました。"
Start-Sleep -m 10
}
Start-Sleep -s 15
for ($i=0; $i -lt $loopcont; $i++){
$list[$i].Stop()
Write-Output "サウンド $i を停止しました。"
}
Start-Sleep -s 5

283 名前:デフォルトの名無しさん mailto:sage [2017/10/26(木) 22:48:35.59 ID:s7qcbuWd.net]
つんぼなの?

284 名前:デフォルトの名無しさん [2017/11/16(木) 20:52:41.22 ID:T0n72mO9.net]
初心者ですが教えてください
WIN32APIの GetFileInformationByHandle をPSから呼ぶにはどうしたら良いですか
やりたいことはハードリンクを考慮したディスク使用量計算です

285 名前:デフォルトの名無しさん [2017/11/16(木) 21:08:55.48 ID:T0n72mO9.net]
https://technet.microsoft.com/ja-jp/sysinternals/du.aspx
これ使ったら普通にできたわ
邪魔したな

まあPSはクソってことで

286 名前:デフォルトの名無しさん [2017/11/16(木) 23:31:42.00 ID:KchxuJsd.net]
余計な一言いらんだろ

287 名前:デフォルトの名無しさん [2017/11/18(土) 16:11:21.34 ID:cmYM+INK.net]
的外れなちゃちゃ入れる人はどこにもいるもんですよ

288 名前:デフォルトの名無しさん mailto:sage [2017/12/05(火) 22:34:01.07 ID:k+S65OIc.net]
powershellでお手軽にwebapi実装するツールって無いか?
C# AspNet WebApiで作るほどの物じゃない
短期間の使い捨てのちょっとしたローカルサービス
リクエスト受けたらurlにマッピングされたps1ファイルを実行するとかで十分なんだけど

289 名前:デフォルトの名無しさん mailto:sage [2017/12/05(火) 22:46:21.76 ID:9s0hJyul.net]
>>275
ASP.NET Coreならめちゃめちゃお手軽だと思うけど



290 名前:デフォルトの名無しさん mailto:sage [2017/12/13(水) 20:58:28.53 ID:ZeopdAwf.net]
Windows 10 Fall Creators Update になってから
$PSHOMEのpowershell.exe.configの編集ができないみたいだがどうすりゃいいの

291 名前:デフォルトの名無しさん mailto:sage [2017/12/14(木) 01:13:41.61 ID:qWY4CdFg.net]
powershell.exe.configの所有がTrustedInstallerだから管理者でも編集できない
なんでそんなことになった

292 名前:デフォルトの名無しさん mailto:sage [2017/12/16(土) 01:09:23.97 ID:Vs3lXU98.net]
所有者変えればいいんじゃないの

293 名前:デフォルトの名無しさん mailto:sage [2017/12/26(火) 01:08:50.05 ID:h/71yGJi.net]
レジストリに書く環境変数設定
setx 変数 値
は問題ないが消す時の
setx 変数 ""
がなぜか設定できない
やり方あるの?
もちろんコマンドプロンプトからはできる

294 名前:デフォルトの名無しさん mailto:sage [2017/12/26(火) 01:14:34.23 ID:h/71yGJi.net]
ありゃcmdからsetx 変数 ""やっても消えとらんな
まあpowershell関係ないからいいや

295 名前:デフォルトの名無しさん mailto:sage [2017/12/31(日) 04:59:46.55 ID:ewNY+pJH.net]
"a[1-5]"とかでa1〜a5がヒットするどうでもいい機能のせいで
無駄に面倒くさくなったのどう考えても失敗だわ
角括弧なんてパスで割りと使う文字なのに

296 名前:デフォルトの名無しさん mailto:sage [2017/12/31(日) 13:49:10.30 ID:SxcWahjo.net]
c#書ける機能がまだよく分からない

297 名前:デフォルトの名無しさん mailto:sage [2017/12/31(日) 15:17:36.20 ID:5u0blHAo.net]
>>283
お前の日本語がわからない

298 名前:デフォルトの名無しさん mailto:sage [2018/01/01(月) 20:07:25.73 ID:2CgBQVZt.net]
C#で作ったコンソールアプリのexeをクリックしたらコマンドプロントが開くけど
代わりにpowershellで開けないの?

299 名前:デフォルトの名無しさん [2018/01/02(火) 22:13:36.96 ID:cpIk9AtY.net]
単純にcmdプロンプトのウインドウを開きたいだけでいいなら
star cmd



300 名前:デフォルトの名無しさん [2018/01/02(火) 22:14:25.04 ID:cpIk9AtY.net]
タイプミスしちゃった
start cmd

301 名前:デフォルトの名無しさん mailto:sage [2018/01/02(火) 22:29:34.02 ID:4AlqWi6E.net]
>>286
質問の意味わかってる?

302 名前:デフォルトの名無しさん [2018/01/02(火) 22:36:39.85 ID:cpIk9AtY.net]
コマンドプロンプトを開きたいとしか読めない。
質問を見ると、コマンドプロンプトを出さないようにしたいという
意味にはなってないし。
なんなんでし

303 名前:蛛H []
[ここ壊れてます]

304 名前:デフォルトの名無しさん [2018/01/02(火) 22:39:26.99 ID:cpIk9AtY.net]
ああごめん、わかった。
単にexeを実行したいってことね。
start xxx.exe
これでいいんじゃない?

305 名前:デフォルトの名無しさん mailto:sage [2018/01/02(火) 22:58:55.67 ID:jMJmiv3g.net]
と、おだやかなお正月風景がすすんでいます

306 名前:デフォルトの名無しさん mailto:sage [2018/01/02(火) 23:54:42.16 ID:BiuuD5uo.net]
>>285
C#アプリ側でpowershell上で実行するように変更するか、スクリプトなりショートカットファイルなり使ってpowershell経由で呼べば良いんじゃないかな?
例えばショートカットのリンク先に powershell.exe -noexit C#アプリ.exe とか。
※powershellのフルパスは自動的に補完されると思うけど、C#アプリはフルパスで記入した方が良いよ。

307 名前:デフォルトの名無しさん mailto:sage [2018/01/03(水) 01:24:47.80 ID:E10k9nmq.net]
>>285
C#とかのコンソールアプリは別にcmdが裏で動いてたりするわけじゃないよ
powershellも色が付いた単なるコンソールアプリだよ

308 名前:デフォルトの名無しさん mailto:sage [2018/01/03(水) 04:11:38.95 ID:LyakWDNT.net]
そのアプリの中で、cmd というコマンドを使っていれば、コマンドプロンプト、
powershell というコマンドを使っていれば、PowerShell が起動する

コマンドプロンプトで、powershell と打てば、PowerShell に、
PowerShell で、cmd と打てば、コマンドプロンプトが起動する

309 名前:デフォルトの名無しさん mailto:sage [2018/01/03(水) 07:28:44.92 ID:r/sVYD0y.net]
いわゆるDOS窓はConsoleAPIを使って生成していて
それに対してstdin/outで読み書きしてれば
自作のコンソールアプリ,cmd,powershell等のコンソールアプリ間で相互に呼び出して繋げられるようになっている

Console Functions - Windows Console | Microsoft Docs
https://docs.microsoft.com/en-us/windows/console/console-functions



310 名前:デフォルトの名無しさん mailto:sage [2018/01/04(木) 19:31:12.74 ID:53E7Fk1q.net]
c#のcsi.exeで実行するスクリプトってすごい便利だな知らんかったこれ

311 名前:デフォルトの名無しさん [2018/01/05(金) 11:06:17.33 ID:zx9cp28q.net]
たしかにC#のスクリプトはお手軽さはないがなんでもできるんだよなあ
ちょっと手のこんだことだとC#のほうが楽

312 名前:デフォルトの名無しさん mailto:sage [2018/01/05(金) 11:13:19.30 ID:zx9cp28q.net]
inputboxはC#にないからpowershellからのほうが楽なのねなるほど

313 名前:デフォルトの名無しさん mailto:sage [2018/01/05(金) 14:42:36.77 ID:m3Niw8wH.net]
>>298
これはC#から使えないの?

Interaction.InputBox メソッド
https://msdn.microsoft.com/ja-jp/library/microsoft.visualbasic.interaction.inputbox(v=vs.85).aspx

314 名前:デフォルトの名無しさん mailto:sage [2018/01/06(土) 12:35:04.57 ID:nVtZlcUN.net]
itsukara.hateblo.jp/entry/2017/04/02/213525
すごいねこれ。GUIはwpfのほうがええんかな

315 名前:デフォルトの名無しさん [2018/01/07(日) 00:05:50.77 ID:X0qXwTa7.net]
>>300
今後の問題ってのがWPFにもFormにもあるけど、
わたしゃ、DesktopではPowerShell+WPFでガンガン
作ってますよ。
xamlで書いて。

316 名前:デフォルトの名無しさん mailto:sage [2018/01/09(火) 03:02:58.55 ID:69Y93T5M.net]
PowerShell+WPFなめてたけど
おもったより簡単に書けるな
だがPoserShell窓消せないのでC#でexeにしたほうがいいっぽい

317 名前:デフォルトの名無しさん mailto:sage [2018/01/09(火) 09:19:25.79 ID:4EiQrQ8s.net]
>>302
WSHでラップすれば一応消せるで

318 名前:デフォルトの名無しさん [2018/01/10(水) 00:29:43.87 ID:NjZf1Ty6.net]
>>302
スゲー便利よ。WPF表示関数化してる。
VSでデザインした時も、デザイナーのオブジェクトのNameをそのまま
PowerShellの変数で使用できるようにしちゃってるんで、すげー開発
効率高い。ちなみにその関数も20行くらいのもの。

デザインしたら、そのままPowerShellのデータとバインドして表示。

319 名前:デフォルトの名無しさん mailto:sage [2018/01/11(木) 01:24:15.68 ID:SytfDmnE.net]
ジャグ配列を返す関数を作ったのですが、ルートの要素が1個の時に戻り値がおかしくなります
ルートの要素が2個以上の場合は起きません。どうしてででしょうか
以下再現コード
function test_jag_array() {
$jag = ,@(@("abc", "def", "ghi", @("jkl", "mno", "pqr", "stu")))
foreach($x in $jag) {
[void]("func " + $x[0] + " " + $x[1] | Out-Host)
for ($i = 3; $i -lt $x.length; $i++) {
$a= $x[$i][0]; $b= $x[$i][1]; $c= $x[$i][2]; $d= $x[$i][3]
[void]("func " + "a:" + $a + " b:" + $b + " c:" + $c + " d:" + $d | Out-Host)
}
}
return $jag
}

$jag = test_jag_array
foreach($x in $jag) {
[void]("res " + $x[0] + " " + $x[1] | Out-Host)
for ($i = 3; $i -lt $x.length; $i++) {
$a= $x[$i][0]; $b= $x[$i][1]; $c= $x[$i][2]; $d= $x[$i][3]
[void]("res " + "a:" + $a + " b:" + $b + " c:" + $c + " d:" + $d | Out-Host)
}
}

上の実行結果
func abc def          ←期待する結果
func a:jkl b:mno c:pqr d:stu ←期待する結果
res a b             ←なんじゃこれ・・・
res d e             ←なんじゃこれ・・・
res g h             ←なんじゃこれ・・・
res jkl mno          ←なんじゃこれ・・・
res a:s b:t c:u d:       ←なんじゃこれ・・・



320 名前:デフォルトの名無しさん mailto:sage [2018/01/11(木) 01:34:44.31 ID:SytfDmnE.net]
↑をルート要素2で試す場合は$jagを以下に変えてください。
$jag = ,@(@("abc", "def", "ghi", @("jkl", "mno", "pqr", "stu")), `
@("abc", "def", "ghi", @("jkl", "mno", "pqr", "stu")))
要素1を回避するコードを加えて一応この問題は解決はしてますが、バグの特定で1日潰れました。

321 名前:デフォルトの名無しさん mailto:sage [2018/01/11(木) 03:42:54.09 ID:z0XvJ0+n.net]
>>306
その辺の闇は以下によくまとめられてた

powershellの@()の謎を解く
https://qiita.com/jca02266/items/1ec920a7592a05cfd6f0

また以下記事のコメント欄でWrite-Output -NoEnumerateの例があった

powershell: 2次元配列が微妙
https://qiita.com/basso414f/items/67894003a666106ca806

322 名前:デフォルトの名無しさん mailto:sage [2018/01/11(木) 03:49:18.87 ID:z0XvJ0+n.net]
こんな感じでいける

function test_jag_array() {
$jag1 = , ("abc", "def", "ghi", ("jkl", "mno", "pqr", "stu"))

$jag2 = , ("abc", "def", "ghi", ("jkl", "mno", "pqr", "stu")),
("abc", "def", "ghi", ("jkl", "mno", "pqr", "stu"))

$jag = $jag1 # jag1の場合

〜省略(元のまま)〜
Write-Output -NoEnumerate $jag
}

323 名前:デフォルトの名無しさん mailto:sage [2018/01/11(木) 05:37:21.95 ID:z0XvJ0+n.net]
>>308
訂正
$jag2の右辺の最初のコンマ演算子いらないわ取り除いて
これだと最初の要素がさらに配列に包まれてしまう
なかなか一貫性のある書き方が難しいね

324 名前:デフォルトの名無しさん mailto:sage [2018/01/11(木) 08:50:32.05 ID:DUtiDslL.net]
PowerShell Core 6.0: Generally Available (GA) and Supported!
https://blogs.msdn.microsoft.com/powershell/2018/01/10/powershell-core-6-0-generally-available-ga-and-supported/

325 名前:デフォルトの名無しさん mailto:sage [2018/01/12(金) 00:35:51.74 ID:9OW8M9wc.net]
>>307
ありがとうございます。
実装(=仕様?)が変なんですね。
VBScriptのarrayのような順序付き汎用コンテナとして使うつもりでいましたが
他の手段も考えてみます。

326 名前:デフォルトの名無しさん mailto:sage [2018/01/12(金) 20:29:55.97 ID:05Vmz+vo.net]
MacやLinuxでも動作する「PowerShell Core 6.0」が一般公開 - 窓の杜
https://forest.watch.impress.co.jp/docs/news/1100633.html

最強や

327 名前:デフォルトの名無しさん mailto:sage [2018/01/14(日) 13:52:57.20 ID:hvH7W8Dy.net]
どうせならXPにも対応して欲しいな
古いマシン再利用できるかもしれん

328 名前:デフォルトの名無しさん mailto:sage [2018/01/14(日) 15:04:00.85 ID:h026DvON.net]
OSSなんだからforkして自分でやればいい

329 名前:デフォルトの名無しさん mailto:sage [2018/01/14(日) 22:54:52.40 ID:rBzJ4J2v.net]
まずは.NET Coreのforkからだな



330 名前:デフォルトの名無しさん mailto:sage [2018/01/20(土) 14:22:45.53 ID:5CcUAB6E.net]
まとめ
PowerShell使いにくい

331 名前:デフォルトの名無しさん mailto:sage [2018/01/20(土) 15:07:18.35 ID:eJTcatAc.net]
>>316
おバカ自慢は要らない






[ 続きを読む ] / [ 携帯版 ]

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

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