前スレ
【最強CUI】PowerShell -Part 2
http://mevius.5ch.net/test/read.cgi/tech/1480109402/
探検
PowerShell -Part 3
■ このスレッドは過去ログ倉庫に格納されています
2018/10/09(火) 17:46:48.32ID:G4IJkzod
456デフォルトの名無しさん
2018/12/23(日) 15:58:49.60ID:yKwr45+F457デフォルトの名無しさん
2018/12/23(日) 15:59:58.24ID:z3o8Rgch 荒らしに構うのも荒らしということでNGIDを増やした
458デフォルトの名無しさん
2018/12/23(日) 16:22:49.84ID:qffc/3mK ちなみにオレもSASデータを作成する処理の対応をしたことがある
dbmsの抽出結果を直接投入したりcsvから投入したりしてる
sasは欠損値や日付の取り扱いにクセがあるから
データ加工をちゃんとしないとそのままでは大体投入できない
当然そういったデータ加工もsasへの投入も日次のJOBとして毎日シェルが呼び出されるようになってる
データセットは毎日更新され続ける
データセットを作成したあとは、ほとんどSASだけで完結できるのは、そのとおりだ
それとパワー系池沼シェルがウンコなのとはなんの関係もない
パワー系池沼シェルからexcel操作するのと変わらん話だからな
まずシェルというもんがなにか分かってない
dbmsの抽出結果を直接投入したりcsvから投入したりしてる
sasは欠損値や日付の取り扱いにクセがあるから
データ加工をちゃんとしないとそのままでは大体投入できない
当然そういったデータ加工もsasへの投入も日次のJOBとして毎日シェルが呼び出されるようになってる
データセットは毎日更新され続ける
データセットを作成したあとは、ほとんどSASだけで完結できるのは、そのとおりだ
それとパワー系池沼シェルがウンコなのとはなんの関係もない
パワー系池沼シェルからexcel操作するのと変わらん話だからな
まずシェルというもんがなにか分かってない
459デフォルトの名無しさん
2018/12/23(日) 16:35:42.95ID:BmCKKXji 【放射線ホルミシス効果】 全部バラしてヤバいよって言った方が、セルフガードするからいいと思います
http://rosie.5ch.net/test/read.cgi/liveplus/1545534951/l50
【嘘HK】 放射能と無関係を装って「心筋梗塞激増」
http://nhk2.5ch.net/test/read.cgi/nhk/1541301264/l50
http://rosie.5ch.net/test/read.cgi/liveplus/1545534951/l50
【嘘HK】 放射能と無関係を装って「心筋梗塞激増」
http://nhk2.5ch.net/test/read.cgi/nhk/1541301264/l50
460デフォルトの名無しさん
2018/12/23(日) 16:37:35.74ID:yKwr45+F そうですか使ってましたか。
私のところでは、DB自体に投入する前加工もSASでやっている。もう30年になるの
で、SASに投入するデータの加工はSAS事態でやっている。SASに渡すために
前処理する必要は全くなく生データからDBローディングまですべてSASで行っている、
UNIX上で扱うデータなら扱えないデータは基本ないので。
といっても、ここはPowerShellの掲示板なので、以降この話は控えます。
私のところでは、DB自体に投入する前加工もSASでやっている。もう30年になるの
で、SASに投入するデータの加工はSAS事態でやっている。SASに渡すために
前処理する必要は全くなく生データからDBローディングまですべてSASで行っている、
UNIX上で扱うデータなら扱えないデータは基本ないので。
といっても、ここはPowerShellの掲示板なので、以降この話は控えます。
461デフォルトの名無しさん
2018/12/23(日) 16:59:42.72ID:qffc/3mK SASなんかで加工してたら
まず限界時間にまに合わない
とてつもない大量のテーブルかつとてつもない大量のレコードがあるからな
SASおいてる計算機では
計算機に休む暇を与えてはいけない
投入以外の余計な処理をしてはいけない
この条件でひたすら投入のみになる
これで限界時間ギリギリになる
こんな状態でも予算つけてくれなかったからな
まず限界時間にまに合わない
とてつもない大量のテーブルかつとてつもない大量のレコードがあるからな
SASおいてる計算機では
計算機に休む暇を与えてはいけない
投入以外の余計な処理をしてはいけない
この条件でひたすら投入のみになる
これで限界時間ギリギリになる
こんな状態でも予算つけてくれなかったからな
462デフォルトの名無しさん
2018/12/23(日) 17:03:29.12ID:vUOt1bO/463デフォルトの名無しさん
2018/12/23(日) 17:41:39.11ID:9AXglOVX SAS自慢は別にスレ建ててやってくれ
1ミリも興味ないし
1ミリも興味ないし
464デフォルトの名無しさん
2018/12/23(日) 18:11:00.48ID:vUOt1bO/ みんな知っていたんだろうが、私は今はじめて気が付いたんだが
import-excel
export-excel
などなどが、知らないうちにサポートされていたんだ。
早速使ってみる。
いままで自分でしこしこやっていた。
import-excel
export-excel
などなどが、知らないうちにサポートされていたんだ。
早速使ってみる。
いままで自分でしこしこやっていた。
465デフォルトの名無しさん
2018/12/23(日) 18:29:11.84ID:vUOt1bO/ 使ってみたが、シートが大きくなるとめちゃくちゃ遅い
う〜〜ん・・・・
う〜〜ん・・・・
466デフォルトの名無しさん
2018/12/23(日) 18:59:18.04ID:9AXglOVX467デフォルトの名無しさん
2018/12/23(日) 19:26:10.52ID:vUOt1bO/ >>466
入れた記憶がないんだけど・・・・それを入れたんだろうな
ボケが始まったかな?
そういえば、excelなしでexcelファイル生成みたいな話でそれをダウンロード
していたかもしれない。ちょっと喜んだんだが、xmlベースでのこの処理は
ちょっと私からすると使い物にならない。
仕方ないんでお手製の、comobject利用で行きたいと思います。
入れた記憶がないんだけど・・・・それを入れたんだろうな
ボケが始まったかな?
そういえば、excelなしでexcelファイル生成みたいな話でそれをダウンロード
していたかもしれない。ちょっと喜んだんだが、xmlベースでのこの処理は
ちょっと私からすると使い物にならない。
仕方ないんでお手製の、comobject利用で行きたいと思います。
468デフォルトの名無しさん
2018/12/24(月) 09:16:30.66ID:dTDa6WWm しかし、この公開モジュールもったいない。改善すれば大変便利
他のサイトで回答したんだけど、データ大きくなければ、結構使える
次の例はexcelブック読んで、性別(列名)の男子だけ抽出して
新たなブック作成した例
(Import-Excel .\Member.xlsx).Where{$_.性別 -eq "男子"}|
Export-Excel .\NewMember.xlsx
これだけでも便利。自分でコマンドレット作っちゃおうかという気が
ムクムクと・・・・
他のサイトで回答したんだけど、データ大きくなければ、結構使える
次の例はexcelブック読んで、性別(列名)の男子だけ抽出して
新たなブック作成した例
(Import-Excel .\Member.xlsx).Where{$_.性別 -eq "男子"}|
Export-Excel .\NewMember.xlsx
これだけでも便利。自分でコマンドレット作っちゃおうかという気が
ムクムクと・・・・
469デフォルトの名無しさん
2018/12/24(月) 17:12:10.50ID:X+oEGSDK SAS : 睡眠時無呼吸症候群 (Sleep Apnea Syndrome)
470デフォルトの名無しさん
2018/12/29(土) 14:12:24.74ID:sblaCsBM 多次元配列$aと$bに数値要素を入れて
それらの要素を同じ要素同士で足したり引いたり掛けたりしたものを
同じ構造の多次元配列$cに入れようとしましたが、
powershellの多次元配列の作り方が分かっていないのか、どうしても1つの成分に1つの数値が入りません
$a=@(@(1,2),@(3,4))
$b=@(@(7,8),@(9,10))
$c = New-Object "object[,]" 2,2
だとダメなんですかね?
それらの要素を同じ要素同士で足したり引いたり掛けたりしたものを
同じ構造の多次元配列$cに入れようとしましたが、
powershellの多次元配列の作り方が分かっていないのか、どうしても1つの成分に1つの数値が入りません
$a=@(@(1,2),@(3,4))
$b=@(@(7,8),@(9,10))
$c = New-Object "object[,]" 2,2
だとダメなんですかね?
471デフォルトの名無しさん
2018/12/29(土) 14:18:25.07ID:alN1JQ5R >同じ構造の
同じ構造じゃない
ジャグ配列で検索してみてからまた来てくれ
同じ構造じゃない
ジャグ配列で検索してみてからまた来てくれ
472デフォルトの名無しさん
2018/12/29(土) 15:15:38.87ID:KNALm1aR >>470
そういう質問もいいけど
一つ上の層に行って、何をしたいかを聞いてみてもいいかもよ。
そこにもっていかなくても良い手段、あるいは適切なコマンドレットが
すでに存在しているかもしれないので。
余計なお世話で失礼かなとは思ったけど。
そういう質問もいいけど
一つ上の層に行って、何をしたいかを聞いてみてもいいかもよ。
そこにもっていかなくても良い手段、あるいは適切なコマンドレットが
すでに存在しているかもしれないので。
余計なお世話で失礼かなとは思ったけど。
473デフォルトの名無しさん
2018/12/29(土) 15:46:12.70ID:/U5cTh+v まぁこれだと「ダメです」としか返ってこないもんね
474デフォルトの名無しさん
2018/12/29(土) 17:29:03.55ID:sblaCsBM $a = New-Object "object[,]" 2,2
$a[0,0] = 1
$a[0,1] = 2
$a[1,0] = 3
$a[1,1] = 4
$b = New-Object "object[,]" 2,2
$b[0,0] = 7
$b[0,1] = 8
$b[1,0] = 9
$b[1,1] = 10
$c = New-Object "object[,]" 2,2
$c[0,0] = $a[0,0] + $b[0,0]
$c[0,1] = $a[0,1] + $b[0,1]
$c[1,0] = $a[1,0] + $b[1,0]
$c[1,1] = $a[1,1] + $b[1,1]
echo $c
出来ました
ありがとうございました
$a[0,0] = 1
$a[0,1] = 2
$a[1,0] = 3
$a[1,1] = 4
$b = New-Object "object[,]" 2,2
$b[0,0] = 7
$b[0,1] = 8
$b[1,0] = 9
$b[1,1] = 10
$c = New-Object "object[,]" 2,2
$c[0,0] = $a[0,0] + $b[0,0]
$c[0,1] = $a[0,1] + $b[0,1]
$c[1,0] = $a[1,0] + $b[1,0]
$c[1,1] = $a[1,1] + $b[1,1]
echo $c
出来ました
ありがとうございました
475デフォルトの名無しさん
2018/12/29(土) 17:52:09.19ID:sblaCsBM $a = New-Object "object[,]" 2,2
$a[0,0] = 1.0
$a[0,1] = 2.0
$a[1,0] = 3.0
$a[1,1] = 4.0
$b = New-Object "object[,]" 2,2
$b[0,0] = 7.0
$b[0,1] = 8.0
$b[1,0] = 9.0
$b[1,1] = 10.0
$c = New-Object "object[,]" 2,2
$c[0,0] = 0.4*$a[1,0] + 0.6*$b[0,1]
$c[0,1] = 1.2*$a[0,0] + 0.2*$b[1,1]
$c[1,0] = 0.6*$a[0,0] + 0.8*$b[1,1]
$c[1,1] = 0.3*$a[1,0] + 0.7*$b[0,1]
echo $c
PS [ディレクトリ] .\array3.ps1
6
3.2
8.6
6.5
こういうのも出来ました
ありがとうございました
2乗とか平方根とかも入れてwhileで多数回回して時代遅れのカオス論ごっこで楽しみます
$a[0,0] = 1.0
$a[0,1] = 2.0
$a[1,0] = 3.0
$a[1,1] = 4.0
$b = New-Object "object[,]" 2,2
$b[0,0] = 7.0
$b[0,1] = 8.0
$b[1,0] = 9.0
$b[1,1] = 10.0
$c = New-Object "object[,]" 2,2
$c[0,0] = 0.4*$a[1,0] + 0.6*$b[0,1]
$c[0,1] = 1.2*$a[0,0] + 0.2*$b[1,1]
$c[1,0] = 0.6*$a[0,0] + 0.8*$b[1,1]
$c[1,1] = 0.3*$a[1,0] + 0.7*$b[0,1]
echo $c
PS [ディレクトリ] .\array3.ps1
6
3.2
8.6
6.5
こういうのも出来ました
ありがとうございました
2乗とか平方根とかも入れてwhileで多数回回して時代遅れのカオス論ごっこで楽しみます
476デフォルトの名無しさん
2018/12/30(日) 16:51:48.83ID:Tt0EhWYe よかったよかった
477デフォルトの名無しさん
2018/12/31(月) 02:48:07.85ID:E3GRK6g9 Ruby の行列を使った方が良さそう
478デフォルトの名無しさん
2018/12/31(月) 06:10:51.81ID:hv1/uFm+ >Ruby の行列を使った方が良さそう
わざわざRuby使うくらいならR使うでしょうに
わざわざRuby使うくらいならR使うでしょうに
479デフォルトの名無しさん
2018/12/31(月) 10:17:55.48ID:4o6gq25f Get-Chlditem の -System オプションて機能してなくね? 5.1と6.1で検証した
https://docs.microsoft.com/ja-jp/powershell/module/Microsoft.PowerShell.Management/Get-ChildItem?view=powershell-6
https://docs.microsoft.com/ja-jp/powershell/module/Microsoft.PowerShell.Management/Get-ChildItem?view=powershell-6
480デフォルトの名無しさん
2018/12/31(月) 10:51:50.10ID:4o6gq25f 使えないのでこんな風にしてる
gci -force |?{$_.Mode -match 's'}
gci -force |?{$_.Mode -match 's'}
481デフォルトの名無しさん
2018/12/31(月) 13:52:03.55ID:i7poOdM+482デフォルトの名無しさん
2018/12/31(月) 20:02:41.24ID:4o6gq25f -force ないと機能しないのか…
483デフォルトの名無しさん
2019/01/01(火) 03:34:35.89ID:ssh3fXac Ruby の行列では、
a = Matrix[[1, 2], [3, 4]]
b = Matrix[[7, 8], [9, 10]]
p a + b
結果
[[8, 10], [12, 14]]
a = Matrix[[1, 2], [3, 4]]
b = Matrix[[7, 8], [9, 10]]
p a + b
結果
[[8, 10], [12, 14]]
484デフォルトの名無しさん
2019/01/01(火) 09:29:48.04ID:HeFEoGOE485デフォルトの名無しさん
2019/01/01(火) 10:43:40.32ID:ISJZg14N Rならこんな感じになるのかな?
a <- matrix(1:4, 2, 2, byrow=T)
b <- matrix(7:10, 2, 2, byrow=T)
a <- a[,1]
b <- b[,2]
matrix(c(0.4, 0.6, 1.2, 0.3), 2, 2)
* rbind(rev(a), a)
+ matrix(c(0.6, 0.8, 0.2, 0.7), 2, 2)
* rbind(b, rev(b))
結果をimage関数に渡してループすると綺麗にチカチカするんだろうか
a <- matrix(1:4, 2, 2, byrow=T)
b <- matrix(7:10, 2, 2, byrow=T)
a <- a[,1]
b <- b[,2]
matrix(c(0.4, 0.6, 1.2, 0.3), 2, 2)
* rbind(rev(a), a)
+ matrix(c(0.6, 0.8, 0.2, 0.7), 2, 2)
* rbind(b, rev(b))
結果をimage関数に渡してループすると綺麗にチカチカするんだろうか
486デフォルトの名無しさん
2019/01/01(火) 16:03:09.00ID:T6MHXAKy SAS/IMLだと
a={1 2,3 4};
b={7 8,9 10};
c=a+b;
print c;
a={1 2,3 4};
b={7 8,9 10};
c=a+b;
print c;
487デフォルトの名無しさん
2019/01/01(火) 16:25:47.24ID:BBGreIch 行列系数値計算ならJuliaも使いやすい
a = [1 2; 3 4]
b = [7 8; 9 10]
print(a + b)
a = [1 2; 3 4]
b = [7 8; 9 10]
print(a + b)
488デフォルトの名無しさん
2019/01/01(火) 16:57:52.05ID:UIhiNbM3 はっきりしているのは、どれもめちゃ遅い
489デフォルトの名無しさん
2019/01/01(火) 16:59:31.69ID:UIhiNbM3 アルゴリズムを考えたり検証したりには
便利という仕組みですね。
これはこれで価値がある。
便利という仕組みですね。
これはこれで価値がある。
490デフォルトの名無しさん
2019/01/02(水) 00:00:30.28ID:uM4gOpCa いろんな言語で書いてくれてるけど
元のソースは行列の単純な和なんて求めてないよね
どうせなら元ソースのエレガントな移植が見たい
元のソースは行列の単純な和なんて求めてないよね
どうせなら元ソースのエレガントな移植が見たい
491デフォルトの名無しさん
2019/01/02(水) 07:11:32.67ID:JfU1VO50 元のソースは何らかのルールに沿ってたものなのでしょうか
492デフォルトの名無しさん
2019/01/02(水) 15:30:48.31ID:meZPNJeK rubyガイジのフリにまんまと乗ったアホ共が悪い
493デフォルトの名無しさん
2019/01/02(水) 16:52:22.21ID:sVSsgdXZ まあ、乗ったというより
別にRubyに求めてないし、それが目的なら
もっといいものがあるよいうことを
Rubyフェチの方に教えてあげただけ。
PowerShellはそこを求めたものとちゃうから。
別にRubyに求めてないし、それが目的なら
もっといいものがあるよいうことを
Rubyフェチの方に教えてあげただけ。
PowerShellはそこを求めたものとちゃうから。
494デフォルトの名無しさん
2019/01/02(水) 16:57:28.69ID:PMrmWLAE 一般人の正月:和歌を読んで批評し合う
逸般人の正月:コードを書いて批評し合う
逸般人の正月:コードを書いて批評し合う
495デフォルトの名無しさん
2019/01/02(水) 17:56:16.48ID:Q1TcDhg4 誤)コードを書いて批評し合う
正)コードを書いてマウントごっこ
正)コードを書いてマウントごっこ
496デフォルトの名無しさん
2019/01/03(木) 09:21:05.05ID:e4doPVb1 コードも書かずにマウントごっこするよりはマシかな
497デフォルトの名無しさん
2019/01/03(木) 14:18:46.18ID:EIDJLiBS 出力内容に日本語(2バイト文字)が含まれているとテーブル表示の際にカラムがズレる、ってのは回避方法がないのかな。
https://i.imgur.com/qMJ9fag.png
chcp 437 で英語モードに、って小細工も、Win10/srv2016 以降は出来なくなってる。
# 今気づいたが Unicode の時代に「2バイト文字」って表現は正しくないな
https://i.imgur.com/qMJ9fag.png
chcp 437 で英語モードに、って小細工も、Win10/srv2016 以降は出来なくなってる。
# 今気づいたが Unicode の時代に「2バイト文字」って表現は正しくないな
498デフォルトの名無しさん
2019/01/03(木) 19:10:30.43ID:9E4VKJOH あきらめてOut-GridViewを使うとか
499デフォルトの名無しさん
2019/01/08(火) 18:45:23.42ID:EC3N2/DB パワーシェルってカテゴリ的にはスクリプト・プログラム言語?それともWindowsのソフトウェア?
500デフォルトの名無しさん
2019/01/08(火) 19:49:18.08ID:GRXV3JJ2 どちらも
シェルと言語に同じ名前が付けられてる(後者はPowerShell Scriptと言ったりするけど)
シェルと言語に同じ名前が付けられてる(後者はPowerShell Scriptと言ったりするけど)
501デフォルトの名無しさん
2019/01/08(火) 20:23:14.66ID:twi+nGjw なるほど
バッチファイルの場合、言語がMS-DOSでソフトウェアの名前がbatって感じかな
バッチファイルの場合、言語がMS-DOSでソフトウェアの名前がbatって感じかな
502デフォルトの名無しさん
2019/01/08(火) 20:34:38.44ID:GRXV3JJ2 全部ずれてる
503デフォルトの名無しさん
2019/01/08(火) 20:45:30.53ID:Ri9uFdMr bashとシェルスクリプト
command.comとバッチスクリプト
コマンドプロンプト(cmd.exe)とバッチスクリプト
powershell.exeとpowershellスクリプト
command.comとバッチスクリプト
コマンドプロンプト(cmd.exe)とバッチスクリプト
powershell.exeとpowershellスクリプト
504デフォルトの名無しさん
2019/01/08(火) 21:11:05.43ID:Ri9uFdMr つかシェルとシェルスクリプト
PowershellとPowershellスクリプト
が一番わかり易かったな
PowershellとPowershellスクリプト
が一番わかり易かったな
505デフォルトの名無しさん
2019/01/08(火) 22:08:03.20ID:twi+nGjw むずかしい!w
506デフォルトの名無しさん
2019/01/09(水) 02:01:23.48ID:9kxsD7dR 別の言い方としてフロントエンドがある
フロントエンドの形態としてシェル、
シェルの機能としてスクリプトの実行という感じ
フロントエンドの形態としてシェル、
シェルの機能としてスクリプトの実行という感じ
507デフォルトの名無しさん
2019/01/09(水) 14:51:11.50ID:teNQqIfe PowerShellができるようになると何がいい?
508デフォルトの名無しさん
2019/01/09(水) 17:40:53.83ID:iwuLoYXa >>507
あなたの職業、PCの使いみち次第なので、そこが明らかじゃないとなんとも言えない。
あなたの職業、PCの使いみち次第なので、そこが明らかじゃないとなんとも言えない。
509デフォルトの名無しさん
2019/01/09(水) 19:51:08.47ID:nNa8IYsJ510デフォルトの名無しさん
2019/01/09(水) 21:58:57.96ID:LPlKYmug それな
今どきの企業はセキュリティポリシーがしっかりしていて
PythonだのRubyだの入れたくてもできないからな
今どきの企業はセキュリティポリシーがしっかりしていて
PythonだのRubyだの入れたくてもできないからな
511デフォルトの名無しさん
2019/01/09(水) 22:13:34.50ID:WxZlp6Z9 >>507
事務職の俺が思うメリット・デメリット。
■PowerShellに限らないプログラミングのメリット
PCを使った繰り返し作業を省力化できる。例えば、
ファイルの名前変更と移動を定型で定期的にやるとか、
同じWebサイトにアクセスして毎回似たようなことをするとか、
お客さんとか他の部署から送られてくる使いづらいExcelのデータを
シンプルな表に整形するとか。
■PowerShellならではのメリット
他の人も書いてるけど、Windowsに最初から入ってる。
スクリプトファイルを渡すだけで同僚にも使ってもらえる。
(起動用のbatファイルとか、タスクスケジューラの設定とかは必要だけど)
■デメリット
全くのプログラミング素人には難しいと思う。
初めてなら、Pythonあたりを先に勉強した方がいいかも。
「パイプラインではオブジェクトが受け渡しされる」とかいわれても
初心者には何のことか分からんと思うし(俺もいまだにしっくり来てない)
適当に解説している入門書とかWebサイトには
「retrun文の後ろの値が、関数の戻り値になります」といった、
嘘じゃないけど嘘に等しいことが書いてあって初心者は訳がわからなくなる。
俺もトライアンドエラーばかりで、きちんと習得できてないです。
事務職の俺が思うメリット・デメリット。
■PowerShellに限らないプログラミングのメリット
PCを使った繰り返し作業を省力化できる。例えば、
ファイルの名前変更と移動を定型で定期的にやるとか、
同じWebサイトにアクセスして毎回似たようなことをするとか、
お客さんとか他の部署から送られてくる使いづらいExcelのデータを
シンプルな表に整形するとか。
■PowerShellならではのメリット
他の人も書いてるけど、Windowsに最初から入ってる。
スクリプトファイルを渡すだけで同僚にも使ってもらえる。
(起動用のbatファイルとか、タスクスケジューラの設定とかは必要だけど)
■デメリット
全くのプログラミング素人には難しいと思う。
初めてなら、Pythonあたりを先に勉強した方がいいかも。
「パイプラインではオブジェクトが受け渡しされる」とかいわれても
初心者には何のことか分からんと思うし(俺もいまだにしっくり来てない)
適当に解説している入門書とかWebサイトには
「retrun文の後ろの値が、関数の戻り値になります」といった、
嘘じゃないけど嘘に等しいことが書いてあって初心者は訳がわからなくなる。
俺もトライアンドエラーばかりで、きちんと習得できてないです。
512デフォルトの名無しさん
2019/01/09(水) 22:16:39.66ID:WxZlp6Z9 間違えた
return文でした・・・
return文でした・・・
513デフォルトの名無しさん
2019/01/09(水) 22:17:35.75ID:nNa8IYsJ すごいHaskell本を借りて100ページくらい読んだら、PowerShellの関数型風な書き方も割と理解できるようになった
514デフォルトの名無しさん
2019/01/09(水) 22:19:11.83ID:nNa8IYsJ 関数型風というか勝手にOut-Defaultがつく挙動がそう見えるだけかもしれないけど
515デフォルトの名無しさん
2019/01/10(木) 00:11:38.57ID:jhx89QXs 関数型は、Ruby, jQuery(JavaScript)。
map というメソッドを頻繁に使う
PowerShell(PS)の延長線上に、Rubyがある
バッチファイル → PS
シェルスクリプト → Ruby
バッチファイル・シェルスクリプトは、とにかく、ハマリが多い!
プログラミングに適さない
map というメソッドを頻繁に使う
PowerShell(PS)の延長線上に、Rubyがある
バッチファイル → PS
シェルスクリプト → Ruby
バッチファイル・シェルスクリプトは、とにかく、ハマリが多い!
プログラミングに適さない
516デフォルトの名無しさん
2019/01/10(木) 00:25:40.33ID:mktY/a5R dosならまだしもwinで無理やり拡腸されたのはちょっとね・・・
517デフォルトの名無しさん
2019/01/10(木) 00:28:19.57ID:FheW454d >>515
この人は何でいつも同じような論調でどこにでも現れるのだろうか。
やたらruby推しするわりには具体的なrubyの良さが全く伝わってこなくて、むしろマイナスイメージをばら蒔いているような気がする。
この人は何でいつも同じような論調でどこにでも現れるのだろうか。
やたらruby推しするわりには具体的なrubyの良さが全く伝わってこなくて、むしろマイナスイメージをばら蒔いているような気がする。
518デフォルトの名無しさん
2019/01/10(木) 00:33:03.30ID:jxmC/C32 >>516
誤字がひどい
誤字がひどい
519デフォルトの名無しさん
2019/01/10(木) 04:58:55.23ID:Pqz/qBav520デフォルトの名無しさん
2019/01/10(木) 05:25:45.52ID:nf36oLbM >>519
それを言うなら、batとvbsやJscriptを組み合わせてようやく出来てたことが、よりPowershellでは少ないコーディングで同等以上の機能を実現できる。て書こうよ
それを言うなら、batとvbsやJscriptを組み合わせてようやく出来てたことが、よりPowershellでは少ないコーディングで同等以上の機能を実現できる。て書こうよ
521デフォルトの名無しさん
2019/01/10(木) 05:57:47.50ID:Pqz/qBav >>520
処理をちょっと追加・変更したくなったときにすぐほかの言語の利用や外部コマンド調達が必要になることを含めて、実現までに手間を要する、と言ったんだけどね
vbs等を覚えてそちら主体で書く前提なら、別途そういう視点での比較論を語ってくれ
処理をちょっと追加・変更したくなったときにすぐほかの言語の利用や外部コマンド調達が必要になることを含めて、実現までに手間を要する、と言ったんだけどね
vbs等を覚えてそちら主体で書く前提なら、別途そういう視点での比較論を語ってくれ
522デフォルトの名無しさん
2019/01/10(木) 06:03:49.10ID:nf36oLbM MSの意図も、現実の普及や活用もvbsはbatの補間機能だよ、それらの一括後継がPowershell、そんなことを今更説明しなきゃならんとは残念至極
つかvbs覚えずにbatだけでwinの管理ワークなんかできなかったよ
つかvbs覚えずにbatだけでwinの管理ワークなんかできなかったよ
523デフォルトの名無しさん
2019/01/10(木) 07:54:48.12ID:e7V8oUZV パワーシェルとrubyは似てる言語なの?
僕とかパワーシェルマスターベーションなのでruby勉強してみようかな
僕とかパワーシェルマスターベーションなのでruby勉強してみようかな
524デフォルトの名無しさん
2019/01/10(木) 12:28:31.19ID:8HdqxYaB >>517
ruby を NG してる
ruby を NG してる
525デフォルトの名無しさん
2019/01/10(木) 17:29:11.64ID:jhx89QXs そりゃ、Ruby がベスト。
Vagrant, Chef, Homebrew, Redmine も、Ruby
JavaScript(JS)は、Ruby に似せてくるから、扱いやすい。
Node.js のnpm, yarn も、Ruby のBundler そっくり。
GUI は、HTML, CSS, JS
再帰的なディレクトリのファイル操作も、glob がある
オブジェクト指向・関数型・Duck Typing・Open Class など、あらゆるデザインパターンの宝庫
Ruby から、PowerShell も呼べる。
str = `powershell Get-Clipboard`
str.encode! Encoding::UTF_8, Encoding::CP932 # UTF_8 へ変換
ダブルクリックで起動したい時だけ、VBS を使っている
ピラフ大王は、PowerShellで、5ch をスクレイピングするほどだけど、
漏れは、Ruby, Selenium Webdriver でやってる
「たのしいRuby 第5版、2016」でも読めば?
Vagrant, Chef, Homebrew, Redmine も、Ruby
JavaScript(JS)は、Ruby に似せてくるから、扱いやすい。
Node.js のnpm, yarn も、Ruby のBundler そっくり。
GUI は、HTML, CSS, JS
再帰的なディレクトリのファイル操作も、glob がある
オブジェクト指向・関数型・Duck Typing・Open Class など、あらゆるデザインパターンの宝庫
Ruby から、PowerShell も呼べる。
str = `powershell Get-Clipboard`
str.encode! Encoding::UTF_8, Encoding::CP932 # UTF_8 へ変換
ダブルクリックで起動したい時だけ、VBS を使っている
ピラフ大王は、PowerShellで、5ch をスクレイピングするほどだけど、
漏れは、Ruby, Selenium Webdriver でやってる
「たのしいRuby 第5版、2016」でも読めば?
526デフォルトの名無しさん
2019/01/10(木) 17:49:28.58ID:3kN+h5hG インテリセンスしょぼすぎ
527デフォルトの名無しさん
2019/01/10(木) 18:07:50.47ID:vGEkHdSz >>524
俺もそうする
俺もそうする
528デフォルトの名無しさん
2019/01/10(木) 18:08:40.70ID:ct6DIWcV529デフォルトの名無しさん
2019/01/10(木) 18:11:49.88ID:SOl/xRps どんどんrubyの評判を下げてるのがわからんのかねぇ
530525
2019/01/10(木) 18:45:39.00ID:jhx89QXs 漏れは、PowerShell で数行書くなら、Ruby で作ってしまう
クリップボードみたいなのは、Rubyから、PowerShellコマンドを呼ぶ。
ダブルクリックで起動したい時は、VBS・bat を使う
Rubyから、Node.js を呼ぶとか、すべての言語を呼び出せるかも
クリップボードみたいなのは、Rubyから、PowerShellコマンドを呼ぶ。
ダブルクリックで起動したい時は、VBS・bat を使う
Rubyから、Node.js を呼ぶとか、すべての言語を呼び出せるかも
531デフォルトの名無しさん
2019/01/10(木) 18:48:24.32ID:ntFiGaUH なるほどrubyじゃ何もできないってことだね
532デフォルトの名無しさん
2019/01/10(木) 19:03:20.25ID:3kN+h5hG IronRubyってどうなったの?
533デフォルトの名無しさん
2019/01/10(木) 20:51:10.85ID:UUY7OixD (かつて)仕様書が存在しない処理系を複製するなんてやってられなくなったんじゃないか?
534デフォルトの名無しさん
2019/01/14(月) 13:22:32.56ID:i1odpryK powershellのメリットは対話環境とスクリプトが同一の文法て書けること
ISEやVS codeで小さなブロックの挙動を確認しながら、それらを組み合わせて一連のワークフローを構築できる
『トライ&エラーで作ってる』って方がいたけど、まさにそういったやり方が出来ることが、専門職じゃなくて日常業務の効率化に使ってる自分にとって凄く大きな利点
ISEやVS codeで小さなブロックの挙動を確認しながら、それらを組み合わせて一連のワークフローを構築できる
『トライ&エラーで作ってる』って方がいたけど、まさにそういったやり方が出来ることが、専門職じゃなくて日常業務の効率化に使ってる自分にとって凄く大きな利点
535デフォルトの名無しさん
2019/01/14(月) 16:32:26.56ID:mUB6pFvH >>534
>powershellのメリットは対話環境とスクリプトが同一の文法て書けること
まさに同じ利点なんだけど、TIPS集みたいな感じでテキストファイルに数行のスクリプトをいくつも集めておいて
必要になったらそこからpowershellウインドウにコピペで即実行できるのがいいね
>powershellのメリットは対話環境とスクリプトが同一の文法て書けること
まさに同じ利点なんだけど、TIPS集みたいな感じでテキストファイルに数行のスクリプトをいくつも集めておいて
必要になったらそこからpowershellウインドウにコピペで即実行できるのがいいね
536デフォルトの名無しさん
2019/01/14(月) 17:38:40.92ID:i1odpryK537デフォルトの名無しさん
2019/01/15(火) 07:41:15.21ID:PNg+c5Yb 文化の変化には拒絶反応があるもの
過去のシェルでつけられてきた命令等の名前付けルールを見ても、
今のようにIT文化が広がった時のが目の利用者目線でつけられたものではなく、
あくまでOS周りのシステム開発者と利用者が同一だった時代、要は試行段階の
時代につけられが規則で、今の時代に合わなくなっている。
そこに風穴開けたのは大変良いことだろう。
既存の使い方に慣れた人にとっては、新たな流れは「また覚えることが増える」
「使い方が今までと違う」ということへの拒否反応が少なからずある。
やり取りを見ていて思ったのは、すでに旧来Unix系シェルのルールにのっとって
作られてきたものがレガシーに向かっていると思いたくない、気が付かないひとが
多いこと。時代は変化してゆく。
過去のシェルでつけられてきた命令等の名前付けルールを見ても、
今のようにIT文化が広がった時のが目の利用者目線でつけられたものではなく、
あくまでOS周りのシステム開発者と利用者が同一だった時代、要は試行段階の
時代につけられが規則で、今の時代に合わなくなっている。
そこに風穴開けたのは大変良いことだろう。
既存の使い方に慣れた人にとっては、新たな流れは「また覚えることが増える」
「使い方が今までと違う」ということへの拒否反応が少なからずある。
やり取りを見ていて思ったのは、すでに旧来Unix系シェルのルールにのっとって
作られてきたものがレガシーに向かっていると思いたくない、気が付かないひとが
多いこと。時代は変化してゆく。
538デフォルトの名無しさん
2019/01/16(水) 08:35:02.57ID:8/OmqdoX v6.1.2 Release of PowerShell Core
https://github.com/PowerShell/PowerShell/releases/tag/v6.1.2
https://github.com/PowerShell/PowerShell/releases/tag/v6.1.2
539デフォルトの名無しさん
2019/01/16(水) 18:21:31.35ID:Y6YhZRdL >>538
あんがとさん
あんがとさん
540デフォルトの名無しさん
2019/01/31(木) 21:35:30.95ID:AeQOSKqu &{
while($true){
(++$i)
sleep -Seconds 1
}
} | Out-GridView
Get-Date
上を実行すると1秒ごとにカウントされた値がウインドウ表示されるけど、
ウインドウを閉じたときにそれ以降のコマンド(Get-Date)が実行されず終了するのどう回避すればいいだろう・・・?
while($true){
(++$i)
sleep -Seconds 1
}
} | Out-GridView
Get-Date
上を実行すると1秒ごとにカウントされた値がウインドウ表示されるけど、
ウインドウを閉じたときにそれ以降のコマンド(Get-Date)が実行されず終了するのどう回避すればいいだろう・・・?
541デフォルトの名無しさん
2019/01/31(木) 21:44:25.79ID:AeQOSKqu Whileの継続判定を
$stop_form = Start-Job {
[System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms") | Out-Null
Start-Sleep -Milliseconds 500
[System.Windows.Forms.MessageBox]::Show("計測停止ボタン")
}
のフォームを使って
while($stop_form.state -eq "running"){...}
のようにもしてみたけれどウインドウ2個表示されるので方法として頭悪い・・・
$stop_form = Start-Job {
[System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms") | Out-Null
Start-Sleep -Milliseconds 500
[System.Windows.Forms.MessageBox]::Show("計測停止ボタン")
}
のフォームを使って
while($stop_form.state -eq "running"){...}
のようにもしてみたけれどウインドウ2個表示されるので方法として頭悪い・・・
542デフォルトの名無しさん
2019/01/31(木) 22:18:49.56ID:xJsSt9Re Windows では、よく知らないけど、
Linux では、プロセスに親子関係がある
そして親プロセスが終了すると、子プロセスにも終了メッセージが送られて、
それに何も対処しないと、普通は子プロセスも終了する
つまり、親亀こけたら子亀もこける
シェルから起動したプロセスは、シェルの子プロセスになっている
だからデーモン・サービスのように、親プロセスから切り離すか、
親から終了メッセージが送られても、子が終了しないような工夫をする必要がある
また、パイプラインでは、ジョブという処理単位もあり、
ジョブグループにまとめられて、そのグループ全部に対して作用する
Linux では、プロセスに親子関係がある
そして親プロセスが終了すると、子プロセスにも終了メッセージが送られて、
それに何も対処しないと、普通は子プロセスも終了する
つまり、親亀こけたら子亀もこける
シェルから起動したプロセスは、シェルの子プロセスになっている
だからデーモン・サービスのように、親プロセスから切り離すか、
親から終了メッセージが送られても、子が終了しないような工夫をする必要がある
また、パイプラインでは、ジョブという処理単位もあり、
ジョブグループにまとめられて、そのグループ全部に対して作用する
543デフォルトの名無しさん
2019/01/31(木) 22:20:50.85ID:wdHuOMr6 >>540
while($true){++$i|out-gridview;sleep -seconds 1;get-date}
while($true){++$i|out-gridview;sleep -seconds 1;get-date}
544デフォルトの名無しさん
2019/01/31(木) 22:33:49.84ID:nQoHUWUF powershell {
&{
while($true){
(++$i)
sleep -Seconds 1
}
} | Out-GridView
}
Get-Date
&{
while($true){
(++$i)
sleep -Seconds 1
}
} | Out-GridView
}
Get-Date
546542
2019/01/31(木) 23:44:01.11ID:xJsSt9Re Windows では知らないけど、
Linux なら、systemd で、サービスを起動できる
Linux なら、systemd で、サービスを起動できる
547デフォルトの名無しさん
2019/01/31(木) 23:44:18.82ID:AeQOSKqu548デフォルトの名無しさん
2019/01/31(木) 23:57:01.76ID:eCrLlhCC >Windows では知らないけど、
このひとなんなん
こわい
このひとなんなん
こわい
549デフォルトの名無しさん
2019/02/01(金) 07:42:04.59ID:92aZjlm0550デフォルトの名無しさん
2019/02/01(金) 09:45:34.37ID:CxyFcB/M551デフォルトの名無しさん
2019/02/01(金) 10:57:54.88ID:Df7lr2kE >>547
Out-GridView だけを、あちらで実行するとか。
GridView に表示するオブジェクトは、スレッドセーフでないといけないかも。
$run = [RunspaceFactory]::CreateRunspace()
$run.Open()
$ogv = $run.CreatePipeline()
$ogv.Commands.Add('ogv')
$ogv.InvokeAsync()
$exec = {$i = 0; for (;;) {(++$i); sleep 1}}
try {
& $exec | % {if ($run.RunspaceAvailability -ne 'Busy') {throw} $null = $ogv.Input.Write($_)}
}
catch {
Write-Warning 'GridView が閉じました。'
}
Get-Date
Out-GridView だけを、あちらで実行するとか。
GridView に表示するオブジェクトは、スレッドセーフでないといけないかも。
$run = [RunspaceFactory]::CreateRunspace()
$run.Open()
$ogv = $run.CreatePipeline()
$ogv.Commands.Add('ogv')
$ogv.InvokeAsync()
$exec = {$i = 0; for (;;) {(++$i); sleep 1}}
try {
& $exec | % {if ($run.RunspaceAvailability -ne 'Busy') {throw} $null = $ogv.Input.Write($_)}
}
catch {
Write-Warning 'GridView が閉じました。'
}
Get-Date
552デフォルトの名無しさん
2019/02/02(土) 21:37:38.54ID:GDLTgOlM もうOut-GridView側の処理は別ps1ファイルで別けて
メイン側からStart-Process に -NoNewWindow -PassThru -Wait つけて終了まで待って
終わったらメイン側の処理に戻ればいいんじゃね
ISEじゃ余分に窓出ちゃうけど直起動なら窓増えないし
結果受け取りが必要なら一手間いるけど
メイン側からStart-Process に -NoNewWindow -PassThru -Wait つけて終了まで待って
終わったらメイン側の処理に戻ればいいんじゃね
ISEじゃ余分に窓出ちゃうけど直起動なら窓増えないし
結果受け取りが必要なら一手間いるけど
553デフォルトの名無しさん
2019/02/03(日) 05:19:27.02ID:U6zkwiYj554デフォルトの名無しさん
2019/02/03(日) 10:45:58.13ID:p2YNM7CO PS > [bool]""
False
PS > [bool]$s
False
なので$nullではなく空白が代入されてる
代入の時点で型変換されてる?
False
PS > [bool]$s
False
なので$nullではなく空白が代入されてる
代入の時点で型変換されてる?
555デフォルトの名無しさん
2019/02/03(日) 11:34:45.18ID:gZVRTEN5 psのnullはnullじゃないってどこかで記事見たな
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 小野田紀美・経済安保担当相「何か気に入らないことがあればすぐに経済的威圧をする国への依存はリスク」 ★2 [Hitzeschleier★]
- 【中国局長】両国関係に「深刻な影響」 首相発言の撤回要求 [蚤の市★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★2 [ぐれ★]
- 【インバウンド】中国人観光客の日本での消費額は年間約2兆円超…中国政府は公務員の出張取り消し [1ゲットロボ★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★3 [BFU★]
- 【維新】吉村知事「中国人観光客だけに頼るビジネスモデル変えていかないといけない」「高市総理の発言は撤回する必要はない」 [Hitzeschleier★]
- 【高市速報】日本人の3割「中国への武力行使に踏み切る必要がある」ANN世論調査 [931948549]
- 高市「発言は撤回しない。謝罪もするな。外務省局長!任せたぞ。」👈なにをさせたかったの?😲 [826239858]
- 【実況】博衣こよりのえちえち歌枠🧪
- 外務省局長、よくわからないまま帰国へ [834922174]
- ぶっちゃけ普通の日本人は台湾とかどうでもよくて、野蛮な反日国中国が偉そうにするのがムカつく!という感情論だけだよね… [452836546]
- 自分に自信がない女の子、陽キャ美容室で80cmのエクステを付けた結果wwwwwwwwwwwwwwwwwww [329329848]
