[表示 : 全て 最新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/

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
おバカ自慢は要らない

332 名前:デフォルトの名無しさん mailto:sage [2018/01/20(土) 20:09:32.77 ID:tb/5wFRb.net]
馬鹿には使いこなせいPowerShell。つまりゴミ。

333 名前:デフォルトの名無しさん mailto:sage [2018/01/20(土) 20:12:33.64 ID:aYLVMpQq.net]
> 使いこなせい
日本語もまともに書けない馬鹿 = >>318 は使

334 名前:ヲないってことか w []
[ここ壊れてます]



335 名前:デフォルトの名無しさん mailto:sage [2018/01/20(土) 20:18:39.25 ID:tb/5wFRb.net]
そのとおり。馬鹿には使いこなせないPowerShell。vi並の粗大ゴミ。
WSH捨てたことを一生後悔することだろう。というかPowerShellなど普及することはない。WPF並の生ゴミ。悪臭がする。

336 名前:デフォルトの名無しさん mailto:sage [2018/01/20(土) 20:28:37.35 ID:CFAgCrzx.net]
俺は使えるからなんの問題もない

337 名前:デフォルトの名無しさん mailto:sage [2018/01/20(土) 20:32:52.77 ID:tb/5wFRb.net]
ほぼサーバ用途なのに自分だけ使えれば問題ないとか保守のことを全く考えないおれ天才君が作ったもの。

それがPowerShell。普及するわけがない。

338 名前:デフォルトの名無しさん mailto:sage [2018/01/20(土) 20:38:49.39 ID:CFAgCrzx.net]
ごめんな、うちの会社は普通にみんな使えてるから w
底辺は色々大変だね
あとサーバー用途だけじゃなくて、ちょっとしたテキスト処理とかでも便利に使えるし
まあついていけない人はWSH使ってりゃいいんじゃね?

339 名前:デフォルトの名無しさん mailto:sage [2018/01/20(土) 21:28:13.84 ID:tb/5wFRb.net]
嘘だね。使えてない奴が使えてるフリしてるだけ。そういうバグあり馬鹿コードを多くの大手SIerの保守案件で散々見てきた。
MSが提供するサンプルコードすら惨いときもあるのにおまえの会社だけは「普 通 に み ん な 使 え て る」という。

キミの口はジョブス並みだな。

340 名前:デフォルトの名無しさん mailto:sage [2018/01/20(土) 21:36:04.82 ID:87fvh5f6.net]
PS万歳とは言わないけど
何出して来るかと思ったら結局WSHかよ…

341 名前:デフォルトの名無しさん mailto:sage [2018/01/20(土) 21:42:56.41 ID:tb/5wFRb.net]
PowerShellを出すならNT4.0のときだったんだよ。昔のMSは互換性、保守を重要視してくれた。
ゲイツがいなくなって今ではまるでジョブスのように切り捨ての王様になってしまった。直にPowerShellもなかったことになるだろう。

もはやMSの凋落は必至。

342 名前:デフォルトの名無しさん mailto:sage [2018/01/20(土) 21:57:45.42 ID:ea7nxeEz.net]
必死だな

343 名前:デフォルトの名無しさん mailto:sage [2018/01/21(日) 08:08:27.81 ID:rQmHQ7OM.net]
>>326
> 直にPowerShellもなかったことになるだろう。
すでにオープンソースになっててLinuxですら動くことも知らないんだろうな w

344 名前:デフォルトの名無しさん mailto:sage [2018/01/21(日) 11:13:24.09 ID:W6oArJxs.net]
MSがオープンソースにするものは捨てたということ



345 名前:デフォルトの名無しさん mailto:sage [2018/01/21(日) 11:17:54.20 ID:xo2ueQrN.net]
ねーよwww

346 名前:デフォルトの名無しさん mailto:sage [2018/01/21(日) 11:28:24.25 ID:oGuWm1pn.net]
>>329
ならWSHは安泰じゃん良かったな

347 名前:デフォルトの名無しさん mailto:sage [2018/01/21(日) 11:49:34.94 ID:mkWKfEkb.net]
>>328
それだが、PowerShellはクソ言語と、悪いけど俺も思っていて、それでも使うのは素のMS-Windowsに載っていて、Windows操作に必要だからでしかないんだよね。
こんなモノのLinuxやMac版を誰が使うんだろう。
まともなC言語環境のあるLinuxやBSD(Mac)でC#みたいな劣化言語を使いたい人なんていない。PSも同様だと思うので、一体誰に向けた動きなのかと。

348 名前:デフォルトの名無しさん mailto:sage [2018/01/21(日) 12:00:01.51 ID:uiiSY3P/.net]
>>332
理解できない言語を糞認定 w
どこが糞か書いてみ

349 名前:デフォルトの名無しさん mailto:sage [2018/01/21(日) 12:32:28.85 ID:JwhmWwix.net]
PowerShellはPerlを弄ってた時のワクワク感を思い出させる。
「折衷主義者のガラクタ」って揶揄されてたPerlに似てるところが好きだ。

350 名前:デフォルトの名無しさん mailto:sage [2018/01/21(日) 15:36:03.00 ID:SnOHZgOX.net]
で、LinuxのPerlに勝てると?

351 名前:デフォルトの名無しさん mailto:sage [2018/01/21(日) 16:04:27.13 ID:U0dzqAVa.net]
しょーもな低スキルの低能丸出しのレスばっか
中身のある技術的な話を誰一人できないっていう

352 名前:デフォルトの名無しさん mailto:sage [2018/01/21(日) 16:06:20.87 ID:W6oArJxs.net]
これは見てて恥ずかしいタイプのマウンティング

353 名前:デフォルトの名無しさん mailto:sage [2018/01/21(日) 16:11:36.64 ID:jvKKFqi6.net]
おバカ自慢とか変な自治厨が

354 名前:Zみ着いてて居心地悪いわ
使いにくいのは事実なんだから仕方ねーじゃん
[]
[ここ壊れてます]



355 名前:デフォルトの名無しさん mailto:sage [2018/01/21(日) 16:34:53.49 ID:rQmHQ7OM.net]
>>338
> 使いにくいのは事実なんだから仕方ねーじゃん
お前にはそうなんだろうな...

356 名前:デフォルトの名無しさん mailto:sage [2018/01/21(日) 16:40:03.11 ID:W6oArJxs.net]
そもそもオープンソース化して喜ぶとかウニ厨でしょう。

357 名前:デフォルトの名無しさん mailto:sage [2018/01/21(日) 17:16:23.83 ID:Nniit6aA.net]
>>338
おバカ自慢て言われた程度で自治厨とか繊細すぎるな
あんた2chに向いてないと思う

358 名前:デフォルトの名無しさん mailto:sage [2018/01/22(月) 03:30:40.49 ID:xAzFKy/K.net]
馬鹿だから使えない理論はvi厨の論法。使いにくいという事実を受け入れられない共産主義者。

359 名前:デフォルトの名無しさん mailto:sage [2018/01/22(月) 06:19:54.05 ID:DO9KWhZf.net]
MS-Windowsのデバイスドライバ辺りをオープンソース化してくれるならともかく、PowerShellよりマシなものが沢山ある環境にこんな糞を投入されて喜ぶウニ厨なんていないでしょう。

360 名前:デフォルトの名無しさん mailto:sage [2018/01/22(月) 08:38:15.63 ID:ckfaCAxk.net]
プレーンテキスト至上主義のunixで使えたところでそんなにうれしくないのは確か

361 名前:デフォルトの名無しさん mailto:sage [2018/01/22(月) 15:04:01.00 ID:xAzFKy/K.net]
デバドラのサンプルソースは一通り揃ってるし、WDFはオープンソース化したというニュースを昔に見たが。
というかドキュメント整備したくないからソース見てくれって話だろう。つまり手抜き。
MSDNライブラリもスナップショットの提供を止めてから崩壊してるし。
無能PGが増えてコード品質の低下が止まらなくなってんだよ、今のMSは。

362 名前:デフォルトの名無しさん mailto:sage [2018/01/22(月) 17:12:28.75 ID:+/nnDvsj.net]
>>342
だからどこが使い辛いんだよ、具体的に書いてみなよ
よくわからずに語ってるんじゃないんでしょ?

363 名前:デフォルトの名無しさん mailto:sage [2018/01/22(月) 18:06:37.00 ID:ITXp9HeA.net]
>>>>346
Perl使ってみて、それでもPowerShellが良いって思うんならもう言うことは無いな

364 名前:デフォルトの名無しさん mailto:sage [2018/01/22(月) 18:29:53.43 ID:4bmxr+CG.net]
結局具体的なことなにもいえないっていう
どの言語もろくに使えないのでは?
ご自慢のPerlつかってればいいと思うよ



365 名前:デフォルトの名無しさん mailto:sage [2018/01/22(月) 18:34:06.79 ID:ITXp9HeA.net]
使える使えないの議論はしてないってことが根本から分かってない奴には困ったもんだ

366 名前:デフォルトの名無しさん mailto:sage [2018/01/22(月) 18:38:20.36 ID:4bmxr+CG.net]
ほう、どうゆう議論してるの?

367 名前:デフォルトの名無しさん mailto:sage [2018/01/22(月) 21:27:41.78 ID:vYNLhkYR.net]
そんなにPowerShellがクソなら、なんでGoogleがPowerShellモジュールを作ったりしてるんだよ

Cloud Tools for PowerShell
https://cloud.google.com/powershell/

368 名前:デフォルトの名無しさん mailto:sage [2018/01/22(月) 21:44:39.43 ID:qSpJOl7I.net]
結論ありきの言い逃げがしたいだけだから、そもそも議論になってないだけだよ

369 名前:デフォルトの名無しさん mailto:sage [2018/01/22(月) 22:35:18.60 ID:4cUHC1qI.net]
PowerShellは世界最強のシェル。
ただ使う人が少ない、使いこなせている人が少ないのがどうにも。

370 名前:デフォルトの名無しさん mailto:sage [2018/01/23(火) 17:18:34.01 ID:eZkYRvtN.net]
googleはただのパクり屋。google様が使ってるから素晴らしいみたいな
マカーのような価値観の人がいるようだが、MSのほうがよほどマシ。

371 名前:デフォルトの名無しさん mailto:sage [2018/01/24(水) 08:44:25.19 ID:Rwufea/L.net]
そもそもなんでPowerSherllの比較対象がperlなんだ?
bashとかのunixシェルなら分かるが

372 名前:デフォルトの名無しさん mailto:sage [2018/01/24(水) 18:20:30.45 ID:cTEKAhE2.net]
bash じゃ正規表現や連想配列も使えないだろ


って言う老害でしょ

373 名前:デフォルトの名無しさん [2018/01/25(木) 01:53:04.89 ID:WgYpUAx2.net]
よほどPowerShellが気になってるんでしょうね
わざわざ来るくらいだから

374 名前:デフォルトの名無しさん [2018/01/25(木) 01:54:46.25 ID:WgYpUAx2.net]
>>351
AWSもいっしょだよ



375 名前:デフォルトの名無しさん mailto:sage [2018/01/25(木) 02:58:09.47 ID:bbltRTAq.net]
大学とかで勉強し始めたばかりの奴が自分のOSや言語を作りたいって人いるじゃん。
そんな奴が作った感じするんだよね、PowerShellは。使う

376 名前:、のことを何も考えてないっていうか。

PowerShellには期待してたけど、残念賞あげたいレベル。
[]
[ここ壊れてます]

377 名前:デフォルトの名無しさん mailto:sage [2018/01/25(木) 03:06:11.90 ID:+aT+OEjK.net]
まあMSがこれだけ時間をかけて普及させようとがんばってきたのにちっとも普及しなかったからな
さらに.NET FrameworkベースのPowerShellで頑張ってればいいのに.NET Coreベースに移行するのは吉とでるか凶と出るか

378 名前:デフォルトの名無しさん mailto:sage [2018/01/25(木) 03:34:37.44 ID:xdveLU72.net]
>>359
具体的に

379 名前:デフォルトの名無しさん mailto:sage [2018/01/25(木) 04:38:12.97 ID:bbltRTAq.net]
リボンUIとかメトロUIもそんな奴が作った感じするんだよね。今まで便利で不満なかったものが、
今からおれが考えたこれ使えと言いつつ自分は碌に使ってないから何が不便かすら理解していない。
結局移行してもらえず、無料にしたり、オープンソースにしたり。

380 名前:デフォルトの名無しさん mailto:sage [2018/01/25(木) 06:02:25.02 ID:9nHFvuML.net]
>自分は碌に使ってないから何が不便かすら理解していない。

おまえがなーw
PowerShellのイケてないところはたしかにあるんだよ
でもお前はなにひとつ具体的にあげられないから議論にならない
典型的な批判してる俺かっこいいのプログラミング初心者だろうw

381 名前:デフォルトの名無しさん mailto:sage [2018/01/25(木) 08:46:52.90 ID:jzQbwnAF.net]
>>359
たとえばどんなところ?

382 名前:デフォルトの名無しさん mailto:sage [2018/01/25(木) 09:23:56.11 ID:QMrii+Ei.net]
>>362
リボン導入前のOfficeがどんなUIだったか知らないのか?

ttp://www.aoky.net/articles/david_pogue/images/toolbars.jpg

383 名前:デフォルトの名無しさん mailto:sage [2018/01/25(木) 14:44:54.00 ID:bbltRTAq.net]
評判が悪ければすぐ撤回するのはゲイツの思想。
移行してもらえないのをユーザが馬鹿だからって基本ジョブスの思想なんだよね。
そもそもなんでそういう奴がWindows使ってるのか謎。Macでも使ってろよ。

まぁゲイツが引退してからのMSはまるでアップルだけどね。欠陥品のゴリ押しばかり。

384 名前:デフォルトの名無しさん mailto:sage [2018/01/25(木) 18:38:14.54 ID:AIlmNuXT.net]
結局具体的な使い辛さも言えずにぶつぶつ独り言を言うだけかよ...



385 名前:デフォルトの名無しさん mailto:sage [2018/01/25(木) 18:57:51.13 ID:bbltRTAq.net]
そういうことは移行を拒否した大勢の顧客に聞くべきだったのだ。ゲイツならそうした。
Vista、Office2007、Windows8、WPF、PowerShell、ワンボタンマウス・・・いくらでも例はある。

386 名前:デフォルトの名無しさん mailto:sage [2018/01/25(木) 22:18:43.13 ID:jzQbwnAF.net]
---ここまで具体例なし---

387 名前:デフォルトの名無しさん mailto:sage [2018/01/26(金) 00:20:26.36 ID:2qREz52g.net]
説明するまでもないこと
具体例云々繰り返す奴はLinux板で良く見かけるよ

388 名前:デフォルトの名無しさん mailto:sage [2018/01/26(金) 02:32:53.30 ID:hKoymMP7.net]
結局、PowerShellって何がしたかったんだ?Unixシェルの駆逐?

389 名前:デフォルトの名無しさん mailto:sage [2018/01/26(金) 08:27:51.42 ID:sFu+Ex6E.net]
>>371
Unixシェルの駆逐(笑)が目的ならbash on Windowsなんか作らないだろ…

390 名前:デフォルトの名無しさん mailto:sage [2018/01/26(金) 15:16:39.51 ID:cWhgmMyM.net]
駆逐どころか、(Unixのログインシェルに移植版PowerShellを使えるか知らんが)PSのログインシェル人口が絶滅危惧種のcshに追いつけたら大成功だと思うよ。

391 名前:デフォルトの名無しさん mailto:sage [2018/01/26(金) 16:26:08.29 ID:kUBhdwT4.net]
なにいってんだ
bash on windowsもMacやLinuxでのPowershellも開発用
普段LinuxやMac使ってる人がWinでも開発しやすくするため、逆もしかり
なんで追いつけたら大成功なんてアホなこと言ってんの

392 名前:デフォルトの名無しさん mailto:sage [2018/01/26(金) 17:35:08.99 ID:Lzw6elJ8.net]
シェアの話はしちゃダメだよ(笑)

393 名前:デフォルトの名無しさん mailto:sage [2018/01/26(金) 20:00:31.74 ID:hKoymMP7.net]
単純にMSはコマンドプロンプトを完全にPowerShellに置き換えようとしたの?

394 名前:デフォルトの名無しさん mailto:sage [2018/01/26(金) 20:03:32.03 ID:8m7gdhLr.net]
>>370
> 説明するまでもないこと
説明できない奴の常套句 w



395 名前:デフォルトの名無しさん mailto:sage [2018/01/26(金) 22:11:48.50 ID:xXSIxAPE.net]
Cmdlet適当に組み合わせるだけでもいろんな事ができて便利なので使ってるけど、正直構文はちょっとキモいと思ってる
JScript/WSHの延長でTypeScriptっぽくしたほうが良かったんじゃ

396 名前:デフォルトの名無しさん mailto:sage [2018/01/26(金) 23:57:01.40 ID:8m7gdhLr.net]
>>378
> 正直構文はちょっとキモいと思ってる
そうか?
まあ == の代わりに -eq とかはちょい見辛い気はする
あと関数内で単なる式を書くと戻り値になるとかも慣れないと気持ち悪いな
でもそれより配列の扱いが特殊な方が気になる

397 名前:デフォルトの名無しさん [2018/01/27(土) 00:21:36.31 ID:+1W3UINk.net]
なんだかんだと言いながら
PowerShell利用は急激に増えてるのは事実なんで
それでいいんじゃないの

398 名前:デフォルトの名無しさん mailto:sage [2018/01/27(土) 01:48:16.16 ID:gGfEZXbc.net]
結局、PowerShellがどういう意図で開発されたんだ?
なんでこの程度の基本的な質問すら誰も回答しないでスルーする?

399 名前:デフォルトの名無しさん mailto:sage [2018/01/27(土) 02:15:12.60 ID:AI3Ijs7Y.net]
開発から10年以上になるってのに今更過ぎる話題
www.atmarkit.co.jp/ait/spv/1003/11/news090_2.html

400 名前:デフォルトの名無しさん mailto:sage [2018/01/27(土) 03:12:23.79 ID:C3HeL8rM.net]
powershell覚えようかと思ったけど、bash使えるようになったからもういいや

401 名前:デフォルトの名無しさん mailto:sage [2018/01/27(土) 04:46:17.42 ID:gGfEZXbc.net]
> なぜ新しいシェルが必要なのか?
> 理由その1:コマンド・プロンプトの進化が限界に来ているため
> 理由その2:コマンド・プロンプトのバッチ機能が不十分であるため

内容にガッカリ。Widnwosは開発環境、IDEが強力でコマンドプロンプトを使う場面が限られている。
しかも既にWSHがあってバッチ処理で困ることもない。WSHは言語は自由なのにvbscriptを持ち出して記述が冗長とかいうアホ指摘。

> Microsoftはシステム管理用に特化し、優れたスクリプト機能もあわせ持つ新しいシェルを開発する必要に迫られたわけである。

その解決手段がなぜか、「システム管理用に特化」のシェル。
この程度の理由じゃそりゃ移行してくれないはずだわ。誰も必要に迫られてないのだから。
こんな恥ずかしい技術記事持ってくんなよ。おまえはこの記事でPowerShellの必要性に納得したのかよ。

402 名前:デフォルトの名無しさん mailto:sage [2018/01/27(土) 04:56:49.67 ID:1VJSvYbm.net]
>>384
サーバー使ったことなさそう。

403 名前:デフォルトの名無しさん mailto:sage [2018/01/27(土) 06:38:42.80 ID:y60tdrG2.net]
>>374
開発用シェルというものを初めて聞いた。
すまないが、それはどういう定義か教えて貰えないだろうか。

404 名前:デフォルトの名無しさん mailto:sage [2018/01/27(土) 07:42:12.61 ID:+IHcDO2K.net]
まあ爺はbashなりWSHなりを使っときゃいいんじゃね
もう新しい技術を取り入れる能力無さそうだし w



405 名前:デフォルトの名無しさん mailto:sage [2018/01/27(土) 08:28:47.77 ID:AI3Ijs7Y.net]
無理して移行する必要は無いよって言ってくれてるから安心して
https://technet.microsoft.com/ja-jp/scriptcenter/powershell_owner01.aspx

ただ初学者に無理してcmdとWSHを勉強させるのは勘弁して欲しい

406 名前:デフォルトの名無しさん mailto:sage [2018/01/27(土) 08:30:36.32 ID:m1Wg2epk.net]
知ったかぶるなら、こういうのを見てからにしとけばよかったのに

使う気が無い人向けのPowerShell入門
karino2.livejournal.com/69885.html

407 名前:デフォルトの名無しさん mailto:sage [2018/01/27(土) 10:35:01.25 ID:ZgMGVzLO.net]
>>388
いいこと書いてるけど自動車乗れるようになったら自転車に乗らなくなるのと同じでPowerShellに慣れたらわざわざVBScriptなんて使わんわな

408 名前:デフォルトの名無しさん mailto:sage [2018/01/27(土) 19:09:24.76 ID:gGfEZXbc.net]
新しい技術、新しい技術連呼で具体例は一切なしか。まさに詐欺師ジョブスと同じ手法じゃん。

しつこく聞いてやって出てきたのがこれだからな。
www.atmarkit.co.jp/ait/spv/1003/11/news090_2.html

> 理由その1:コマンド・プロンプトの進化が限界に来ているため
> 理由その2:コマンド・プロンプトのバッチ機能が不十分であるため

さらに突っ込んだらこれが理由だとさ。
https://technet.microsoft.com/ja-jp/scriptcenter/powershell_owner01.aspx
> その一方で例外もあります。たとえば、Microsoft Exchange Server 2007 の管理を自動化する場合は、PowerShell を使う必要があります。

つまりMSの製品にあれこれ制限かけて無理やり移行させようとしてるだけ。まさにAppleと同じ切り捨て手法ですな。MSオワタ

409 名前:デフォルトの名無しさん mailto:sage [2018/01/27(土) 22:43:30.80 ID:ZgMGVzLO.net]
>>391
> 新しい技術、新しい技術連呼で具体例は一切なしか。
ん?
ちょっと調べりゃすぐわかるだろうに...

・パイプにオブジェクトを渡せる
・スクリプトの癖に型を強制できる
・一部の処理でループを記述せずに配列を処理するできる (-eq 演算子とか switch 文とか)

410 名前:デフォルトの名無しさん mailto:sage [2018/01/28(日) 00:29:40.36 ID:bTKnHnST.net]
> パイプにオブジェクトを渡せる

すごいようでこれがあまりにもすごくないんだよな。残念大勝の一番の理由がこれ。

411 名前:デフォルトの名無しさん mailto:sage [2018/01/28(日) 01:08:47.49 ID:WtZFLS3w.net]
>>393
馬鹿すぎ

412 名前:デフォルトの名無しさん mailto:sage [2018/01/28(日) 01:50:52.35 ID:bTKnHnST.net]
>>394
具体的に

413 名前:デフォルトの名無しさん mailto:sage [2018/01/28(日) 03:00:11.13 ID:WtZFLS3w.net]
>>395
具体的って?
.NETにオブジェクトとして渡せるだけで十分だろ。

414 名前:デフォルトの名無しさん mailto:sage [2018/01/28(日) 03:20:34.63 ID:bTKnHnST.net]
なにひとつ具体的にあげられないから議論にならないな
典型的な人を馬鹿にした俺かっこいいのプログラミング初心者だろう



415 名前:デフォルトの名無しさん mailto:sage [2018/01/28(日) 07:17:45.41 ID:7YQDaT33.net]
シェルスクリプトで苦労したことがないんでしょうね

416 名前:デフォルトの名無しさん mailto:sage [2018/01/28(日) 08:24:55.62 ID:C2Jb//yt.net]
>>393
https://technet.microsoft.com/ja-jp/scriptcenter/powershell_owner04.aspx
を見ても便利さを理解できない老害ならおとなしくWSHでVBScript使っとけばいいと思うよ w

417 名前:デフォルトの名無しさん mailto:sage [2018/01/28(日) 08:42:15.20 ID:MFdZtZMl.net]
unixシェルは同じコマンドでも作者やバージョンによって出力フォーマットが違うことがあるのがゴミ
.netはecmaで標準化されてるからどの環境でも同じように使える

418 名前:デフォルトの名無しさん mailto:sage [2018/01/28(日) 09:07:27.12 ID:i85SWwCT.net]
PSは今やWindowsのシェルと言うよりも.NETのシェル
そしてMSには.NET以外のDOS由来だのActiveX/COMに割けるリソースは無い
そもそもcmdやWSHは別者過ぎて学習の指針となるべき一貫性が無い

そもそも.NETに興味ないならしょうがないけどね

419 名前:デフォルトの名無しさん mailto:sage [2018/01/28(日) 10:35:46.87 ID:ZKF4cQEu.net]
>>379
関数だと括弧をつけると配列を第一引数として渡したことになるところは毎回ハマる
メソッドの使用と混在すると特に
というかアレは関数じゃなくてcmdletだから、生成構文を区別して、関数は関数で別に作れたら良かったのに

420 名前:デフォルトの名無しさん [2018/01/28(日) 10:48:43.15 ID:5COUzF1g.net]
>>379
それは自分が何に成れているか次第ででょうね
私だと==を使う言語自体使っていなかったので
-eq以前に==自体に違和感感じるんだわ

421 名前:デフォルトの名無しさん [2018/01/28(日) 10:56:03.92 ID:5COUzF1g.net]
msはかつて大きなシェアをとった時代に独禁法で規制された
関係で他の環境への進出を長い間やれなかった(また控えていた)。
そのために他のプラットフォーム上では企業として進出しなかった。
今はそういう環境から解放されたので、他のプラットフォーム上に
積極的に出ることができるようになったという流れ。
今後は、どんどん出てくるよ。
うまく行くかどうかは別として。

422 名前:デフォルトの名無しさん mailto:sage [2018/01/28(日) 11:53:02.48 ID:qzyVH/BM.net]
>>402
括弧と言うかカンマ ',' の扱いが独特なのと一次元配列に対する親切機能(お節介機能とも言う)のお陰で今でも混乱してる俺

>>403
日頃どんな言語使ってるの?

423 名前:デフォルトの名無しさん [2018/01/28(日) 11:55:33.58 ID:7JwYicqf.net]
>>405
複数だけど、一番多いのはSASかな。

424 名前:デフォルトの名無しさん mailto:sage [2018/01/28(日) 12:18:28.19 ID:qzyVH/BM.net]




425 名前:SAS なんて聞いたこともないからよく知らんけど統計処理用の言語みたいだから PowerShell みたいな言語と比較されてもそりゃ違うだろとしか言えんわな []
[ここ壊れてます]

426 名前:デフォルトの名無しさん [2018/01/28(日) 12:25:37.17 ID:jpmSjP1r.net]
>>407
まあ特殊な管理用途以外でShell使う必要がないので
大規模なレガシーデータ処理だとまともに処理できるソフトが
余りないので、DB構築の前処理などに大変便利してる。
PowerShellも便利にしてるよ。

427 名前:デフォルトの名無しさん mailto:sage [2018/01/28(日) 13:04:36.95 ID:NipuMoZC.net]
LISPみたいな印字書式を定義しなかったせいでオブジェクト毎に出力が無茶苦茶なのがな
適当なシリアライズ/デシリアライズなコンテナを探してこないと

428 名前:デフォルトの名無しさん mailto:sage [2018/01/28(日) 13:14:16.78 ID:FWMaXZJR.net]
これ、
> ・パイプにオブジェクトを渡せる
蛇蝎のように嫌われているのだろうと思っていたが、意外にもこの界隈では評価されているんだね。
型を意識する必要のある点や、-output-string(だっけ?)が要ることもあったりする点が、他OS移植版普及のネックだろうと思う。

429 名前:デフォルトの名無しさん mailto:sage [2018/01/28(日) 13:21:04.03 ID:C2Jb//yt.net]
>>410
???
当然だけど文字列を渡すこともできるんだが...

430 名前:デフォルトの名無しさん [2018/01/28(日) 13:27:41.20 ID:jpmSjP1r.net]
>>410
そうやってメリットデメリット出して考えてゆくのが
良いような気がするな。開発者自体が別プラットフォーム間での
移植性を考えているなら当然の問題として、それを考えていることに
なるので、じゃどういう考えを持っているか見て行くのも面白いと思う。

431 名前:デフォルトの名無しさん [2018/01/28(日) 13:31:58.78 ID:jpmSjP1r.net]
>>411
一つはそれはあるね
とはいえPowerShellの良さを生かそうとすると
別な手段も考え(てくる)気がする。

ま、.NETドライブするのが大きな目的だから、別プラットフォーム間で
.NET同士でオブジェクトで渡す方向があるでしょうね。

432 名前:デフォルトの名無しさん mailto:sage [2018/01/28(日) 14:05:22.62 ID:5h4UQWxR.net]
>>409
Format-*の中から状況ごとに都合のいいのを選べばいいだけじゃないの?
自分で規定のフォーマットを定義してもいい

Format コマンドを使用した出力ビューの変更
https://docs.microsoft.com/ja-jp/powershell/scripting/getting-started/cookbooks/using-format-commands-to-change-output-view
about_Format.ps1xml
https://technet.microsoft.com/ja-jp/library/hh847831.aspx

433 名前:デフォルトの名無しさん mailto:sage [2018/01/28(日) 14:24:26.21 ID:vzdSAj0J.net]
自分は事務職で、PowerShellを少しだけ使ってるんですけど、便利だなあと思う反面、
難しくてしんどいことも多いです。

最初にPowerShellを使ってみたのは、業務システムから出力されるCSVから、データの抽出をしたときです。
CSVのカラムが数百列あるうえに、下っ端の私が知らぬ間に仕様がたまに変わる。
(新規カラムがいくつか追加されている。しかもそれらが既存カラムの間に挿入されている)
そのCSVから複数条件で抽出するのに、以前はエクセルで毎回難儀してたのが、
2時間くらいかけて文法のさわりを勉強してPowerShellを使ってみたら超楽ちん!

それからはもう少し勉強して、Webからデータをとってきたり、毎度決まりきったファイルのリネームと移動、
みたいなことにも便利に使ってます。

しんどいのは、挙動の予測が難しい場合が多々あることです。
他の言語(VBA、C#)も少し勉強したことがあるのですが、初心者にわかりづらい挙動の多さという意味では
PowerShellが一番難しいです。
ちょっとしたことをするのにも大抵1つ2つ罠にはまって、毎回悩みながら解決する羽

434 名前:目になります。

そして文法はなんだか覚えづらい。
ここ何か月か新規スクリプトを作る機会がなかっただけでだいぶ忘れてしまいました。

OSに付属していることだし、職業プログラマーじゃない人も使うことを考えて、
できればもう少しシンプルで覚えやすい仕様にしてほしかった。
[]
[ここ壊れてます]



435 名前:デフォルトの名無しさん [2018/01/28(日) 14:27:55.14 ID:jpmSjP1r.net]
>しんどいのは、挙動の予測が難しい場合が多々あることです。
>ちょっとしたことをするのにも大抵1つ2つ罠にはまって、
>毎回悩みながら解決する羽目になります。

そういうのを、ここに質問する場にしたらどうでしょ。

436 名前:デフォルトの名無しさん mailto:sage [2018/01/28(日) 15:12:22.02 ID:vzdSAj0J.net]
>>416
ありがとうございます。
またハマってしまうことがあったら質問させていただきます。

437 名前:デフォルトの名無しさん mailto:sage [2018/01/28(日) 15:25:45.79 ID:C2Jb//yt.net]
>>415
> 2時間くらいかけて文法のさわりを勉強してPowerShellを使ってみたら超楽ちん!
2時間とか超優秀な部類じゃね?

> 初心者にわかりづらい挙動の多さという意味では
> PowerShellが一番難しいです。
まあこれはあるわな
便利さとのトレードオフもあるけど配列回りはちょっとやり過ぎな気もする
・-eq とかがフィルター演算子になる
・switch に配列渡すと自動的に全要素を処理する
等々...

438 名前:デフォルトの名無しさん [2018/01/28(日) 15:27:16.79 ID:zxtgYYNU.net]
>>417
なんか利用されるのに適したcmdletあったら便利という気がするもので
いまC#で関数(dll)にして、ちまちまと自分ツールにしてます。
dllにすれば、そのまま.netクラスになるので、C#でもPowerShellでも
(使ってないけどvbでも)共用できるんで。
あと、海外のサイトにはいろいろ転がってるみたいなもので。

439 名前:デフォルトの名無しさん mailto:sage [2018/01/28(日) 19:58:23.05 ID:bTKnHnST.net]
>>399
なるほど。最近勉強を始めて歴史を知らないからすげーと思ったわけか。
パクり屋のジョブスを革新、すげーと思う若者みたいなものだな。
UNIXではオブジェクト間通信の普及に失敗したけど、Windowsでは20年前に成功しているんですよ。
もう一度なぜオブジェクト思考が必要になったか歴史を勉強してくださいな。これは歴史の逆行ですよ。

440 名前:デフォルトの名無しさん mailto:sage [2018/01/28(日) 20:37:11.09 ID:C2Jb//yt.net]
>>420
> Windowsでは20年前に成功しているんですよ。
おそらくDDE辺りの話を知ったかしてるんだろうけど全く違う話だから w

441 名前:デフォルトの名無しさん mailto:sage [2018/01/28(日) 20:46:58.89 ID:aNbuPTeM.net]
「ファイルサイズ1MB以上のファイルをTEMPフォルダに移動する」
という処理をそのまま書き下せるのがシェルでオブジェクトを扱える利点
凄い事ではなくて、単にやりたいことをより自然に書けるようになるってだけ
下らないテキストの加工やマジックナンバーが減って読みやすくなる

442 名前:デフォルトの名無しさん mailto:sage [2018/01/28(日) 20:48:14.20 ID:OJ4BeXJh.net]
>>415
> そして文法はなんだか覚えづらい。
> ここ何か月か新規スクリプトを作る機会がなかっただけでだいぶ忘れてしまいました。

文法覚えづらいか?統一されてるからちょっと覚えるだけだと思うが。
補完も使ってないとかいうオチでは

443 名前:デフォルトの名無しさん mailto:sage [2018/01/28(日) 20:52:05.30 ID:C2Jb//yt.net]
その程度なら unix の find コマンドでできる
逆に言うとオブジェクトを渡せなかったから find コマンドが色々なフィルター機能を持つ必要があったと言うことでもある

444 名前:デフォルトの名無しさん mailto:sage [2018/01/28(日) 21:00:28.05 ID:bTKnHnST.net]
>>421
20年前はIE4アップデートの話だよ。Windowsが一気にCOM化したんだよw
なんでDDEが出てくるんだよw これだからUNIX屋は今でも20年遅れてる。
ストリームにオブジェクト流すなんて昔から普通に行われているのに、
シェルでオブジェクト流せるパイプライン!! 最新の技術!!! 老害は便利さを理解できない!!! だもんなぁ。



445 名前:デフォルトの名無しさん mailto:sage [2018/01/28(日) 21:07:16.09 ID:C2Jb//yt.net]
>>425
20年前の話を後生大事を覚えてる老害乙 w
COMの話がどう関係するのか知らんけどストリームにオブジェクトを流せるとかはもう少し具体的に書いてもらえるかな

446 名前:デフォルトの名無しさん mailto:sage [2018/01/28(日) 21:28:00.62 ID:4reZ7e7j.net]
ストリームにオブジェクト流すなんて昔から普通に行われている(笑)
そのわりにはあんたの大好きなWSHにはTextStreamはあるけどObjectStreamなんてものは見当たらないよね

447 名前:デフォルトの名無しさん mailto:sage [2018/01/28(日) 21:30:48.62 ID:7YQDaT33.net]
同じような話をぼんやりした理解のまま混ぜ

448 名前:てやってるから
誰が何を応援してるのかさっぱり分からん
[]
[ここ壊れてます]

449 名前:デフォルトの名無しさん [2018/01/28(日) 21:31:00.82 ID:cl7B8Mzd.net]
>>405
今でもっていうがもうずっと前から同じヤツが言ってるだろ
5人はいないと思う

450 名前:デフォルトの名無しさん mailto:sage [2018/01/28(日) 21:31:06.24 ID:7kR+joeD.net]
その人ジョブズがーゲイツがーとか意味不明な話ばっかで
突っ込まれることにびびって具体的なこと何も言えない人だから
構ってもしょうがないよ
XP最高秀丸最高とか言ってる老害と同類じゃないかな

451 名前:デフォルトの名無しさん mailto:sage [2018/01/28(日) 22:17:45.22 ID:bTKnHnST.net]
> COMの話がどう関係するのか知らんけどストリームにオブジェクトを流せるとかはもう少し具体的に

ここまでド素人丸出しの質問されてもね。
C++でもCOMでもMFCでもC#でも.netでもオブジェクト思考に関連する技術書なら書いてるでしょってレベル。

それが自称デシタルネイティブで老害連呼だからね。
安っぽいブログ風の記事ばかり読んでないでMSの公式解説書を全部読めよ。知識薄すぎなんだよ、小便垂れ。

452 名前:デフォルトの名無しさん mailto:sage [2018/01/28(日) 22:20:25.43 ID:E2yhzBE8.net]
ストリームてPSのコマンド群は単なるクラスライブラリなんだが…

453 名前:デフォルトの名無しさん mailto:sage [2018/01/28(日) 22:22:11.60 ID:C2Jb//yt.net]
>>431
具体的に書けないなら黙ってろよ w

454 名前:デフォルトの名無しさん mailto:sage [2018/01/28(日) 22:29:49.73 ID:bTKnHnST.net]
>>433
MSの基幹技術のCOMすら理解してなかったのになんでおまえはそんなに偉そうなの?
若さゆえの過ちというものを認めたくないのは分かるが背伸びし過ぎではないか。



455 名前:デフォルトの名無しさん mailto:sage [2018/01/28(日) 23:01:58.57 ID:pCbikq+O.net]
シェルスクリプトでは、複雑なプログラミングは無理だから、PowerShell になる。
それよりもさらに複雑になると、Ruby になる

だから、Vagrant, Chef, Homebrew などの環境構築ツールは皆、Ruby で作られている

456 名前:デフォルトの名無しさん mailto:sage [2018/01/28(日) 23:24:29.92 ID:aNbuPTeM.net]
一つのコマンドが肥大化してカオスになったのがこれまでのシェルだから、それに慣れてしまってる人は良さが分かりにくいだろうね
コマンドに引数渡す時に頭につけるのは / なのか - なのか -- なのか、順番はあるのかないのか
そういうところを初めに統一しておいたのが地味にPSのいいところだと思う

457 名前:デフォルトの名無しさん mailto:sage [2018/01/29(月) 05:04:35.04 ID:LFybAfxw.net]
>>434
オブジェクトをパイプに流す話とCOMなんて関係ないだろ w
そんなのはどうでもいいからお前は
> ストリームにオブジェクト流すなんて昔から普通に行われている
の具体例書けよ

458 名前:デフォルトの名無しさん mailto:sage [2018/01/29(月) 05:26:47.04 ID:NLT8o8lu.net]
ああ静かだと思ったら寝てたのね

459 名前:デフォルトの名無しさん mailto:sage [2018/01/29(月) 06:55:48.03 ID:rL5UybAs.net]
>>436
> コマンドに引数渡す時に頭につけるのは / なのか - なのか -- なのか、順番はあるのかないのか
> そういうところを初めに統一しておいたのが地味にPSのいいところだと思う
それには同意、ヘルプも充実してるし
あと引数の型チェックとかヘルプをスクリプト内に書ける機能とか良くできてると思う

460 名前:デフォルトの名無しさん [2018/01/29(月) 10:31:25.70 ID:lrRcQbVC.net]
コマンドレットのネーミングルールもあるのでそのあたりは楽だな。
考えてみれば旧来のshell言語は、覚えちゃったから使えるという
ところだもんな。

461 名前:デフォルトの名無しさん mailto:sage [2018/01/29(月) 10:33:16.34 ID:6aL5W79g.net]
コマンドオプションはヘルプしっかりしてるし扱いもParamだけで楽チンでいいけど、演算子とメンバ関数が混在してくると何かもにょる
配列とか文字列の演算子多いし余計な変換するし

462 名前:デフォルトの名無しさん [2018/01/29(月) 15:58:03.39 ID:6RiX0lFa.net]
>>435
LinuxではPythonじゃね?

463 名前:デフォルトの名無しさん [2018/01/29(月) 16:35:46.17 ID:6RiX0lFa.net]
www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=43441&forum=7
> OLE1.0の時代は、DDE(Dynamic Data Exchange)をベースアーキテクチャとしていました。
> OLE2.0(現在)では、COM(Component Object Model)をベースアーキテクチャとしています。
> そのCOMは、プロセス間通信に RPC(Remot

464 名前:e Procedure Call)を利用しています。

https://msdn.microsoft.com/ja-jp/library/ms538074(v=vs.85).aspx
> Text Services Framework を使用することにより、アプリケーションのテキスト ストリームにオブジェクトを埋め込むことができます。

https://docs.oracle.com/javase/jp/7/platform/serialization/spec/output.html#933
> クラス ObjectOutputStream は、オブジェクト直列化を実装します。
この直列化は20年ほど前からあるっぽい。

https://ja.wikipedia.org/wiki/Java#実行環境の構成
> シリアライズ(serialization、オブジェクト直列化):
 オブジェクトの参照をたどって関連するオブジェクトをまとめてバイトストリームにすることができる。
 そのストリームをファイルに書き込めば、オブジェクトの状態をそのまま保存(永続化)できる。

でっていう。
[]
[ここ壊れてます]



465 名前:デフォルトの名無しさん mailto:sage [2018/01/29(月) 22:51:09.85 ID:wqG3dXej.net]
プロセス間でオブジェクトを受け渡すのは前からあったけど、シェルでサポートしてめっちゃ簡単に扱えるようになったのが利点じゃないの?

466 名前:デフォルトの名無しさん mailto:sage [2018/01/30(火) 08:14:39.85 ID:GJ8uq/eW.net]
PowerShellのコマンドってオブジェクトをパイプに流すときにいちいちシリアライズとかしてるのか?

つーか

467 名前:デフォルトの名無しさん mailto:sage [2018/01/30(火) 08:40:22.15 ID:gBU+LQhN.net]
>>445
知りたきゃソース見ればいいかと

468 名前:デフォルトの名無しさん mailto:sage [2018/01/30(火) 11:33:08.90 ID:V86e/eZu.net]
>>445
してないと言うかPSのコマンドはいちいちプロセス作ったりしない

469 名前:デフォルトの名無しさん [2018/01/30(火) 15:53:11.19 ID:LMuo1Zyp.net]
>>445
そんなことせずに、直接やり取りできるところが
いいところだもんね。

470 名前:デフォルトの名無しさん [2018/01/30(火) 16:33:15.23 ID:3+EGv0E9.net]
失礼、噛みマミった。

>>443 の下半分は、Java言語の話です。
MS以外は昔からあるというので検索してみました。

.net は Java をパクって作っているけど
MSがJavaを使えなくなったのは、
開発スピードがMSのが早くて仕様を勝手に作ってしまうので
かじ取りをSUNがするために裁判を起こして差し止めたからなので
Javaが最初の実装なら、MSもほぼ同時期に同様の実装をしていることになる。

471 名前:デフォルトの名無しさん [2018/01/30(火) 16:43:32.50 ID:3+EGv0E9.net]
そうやってせっかくJavaの仕様を統一したのに
GoogleがAndroidに組み込んだのはJavaもどき。
おかげでCPUのJava命令を使えず、ソフトウェアエミュレーションしてて無駄にCPU食って遅いとか。

.net が ARM の Java 命令で実行できるようになったらすごいけど・・・

472 名前:デフォルトの名無しさん mailto:sage [2018/01/30(火) 19:45:29.59 ID:m1sp0N+k.net]
>>447
どこからプロセスが出てきたんだ?

473 名前:デフォルトの名無しさん mailto:sage [2018/01/30(火) 20:56:43.36 ID:N5bBVQCj.net]
android登場時からjazilleで動いてるi-appliなんかより断然早かったと思うけど

474 名前:デフォルトの名無しさん mailto:sage [2018/01/30(火) 21:56:58.31 ID:XEZ388GX.net]
>>451
>>443がプロセス間通信云々言ってるからじゃね?
PowereShellのコマンドレットをパイプでつなげるときは
powershell.exeのプロセスだけで完結しててプロセス間通信しないから
シリアライズの必要もない



475 名前:デフォルトの名無しさん [2018/01/31(水) 21:07:01.54 ID:dWxBIZCx.net]
ETH-w

476 名前:デフォルトの名無しさん mailto:sage [2018/02/03(土) 13:46:03.51 ID:Rohe4eLB.net]
ipmo ちんこ
でちんこをパイプカットできるのは評価したい

477 名前:デフォルトの名無しさん mailto:sage [2018/02/12(月) 22:00:10.19 ID:spwyngle.net]
使用頻度高いのに[pscustomobject]っていちいち全部手打ちしないといけないのがまどろっこしい
タブ補完か[pco]とかに省略できるかどっちかやってほしい

478 名前:デフォルトの名無しさん mailto:sage [2018/02/14(水) 07:28:57.51 ID:xNlz1dTb.net]
外部プログラムのウインドウサイズを

479 名前:変更するのは、.Net Frameworkの機能だけでは無理なんですかね。 []
[ここ壊れてます]

480 名前:デフォルトの名無しさん [2018/02/14(水) 22:12:05.64 ID:NrdtujHN.net]
>>457
その質問自体がちょっとおかしいので
もう少し具体的に話してみて。

481 名前:デフォルトの名無しさん mailto:sage [2018/02/15(木) 11:16:12.91 ID:bNKwK/bs.net]
Invoke-Sqlcmdコマンドを使って、データベースにINSERTやDELETEの結果を取得できる方法をどなたか教えて頂けませんでしょうか?

コマンドプロンプトでsqlcmdを使うと「(1 行処理されました)」等が表示されます。これを取得したいです。

482 名前:デフォルトの名無しさん mailto:sage [2018/02/15(木) 13:05:03.45 ID:4lKXUWzM.net]
>>457
options = Selenium::WebDriver::Chrome::Options.new
options.add_argument('--begin-maximized')

driver = Selenium::WebDriver.for :chrome, options: options

driver.navigate.to "〜URI〜"
driver.manage.window.maximize # 画面最大

Windows10, Ruby, Selenium::WebDriver::Chrome で、
ブラウザの自動操作を実行してるけど、画面を最大にできる

もちろん、画面サイズも変更できる

483 名前:デフォルトの名無しさん [2018/02/15(木) 15:41:36.95 ID:sVUOkVXF.net]
Selenium使っているなら、PowerShellからSeleniunつかう
のじゃまずいのかな。

484 名前:デフォルトの名無しさん mailto:sage [2018/02/15(木) 17:01:21.28 ID:4lKXUWzM.net]
シェルスクリプトよりは、PowerShell が良いけど、
これより複雑なものは、Ruby が良い

サクサク、プログラミングできて、バグが少ないのは、Rubyが断トツ!

Enumerable のメソッドが充実してる



485 名前:デフォルトの名無しさん mailto:sage [2018/02/15(木) 17:07:26.96 ID:4lKXUWzM.net]
Selenium WebDriver は、PowerShell では出来ない

使えるプログラム言語は、Java/C#/Ruby/Python/Javascript

486 名前:デフォルトの名無しさん [2018/02/15(木) 18:02:19.40 ID:ZXhM7ba9.net]
出来ますよ

487 名前:デフォルトの名無しさん [2018/02/15(木) 18:18:56.65 ID:ZXhM7ba9.net]
>>463
それ、C#と書いてあるけど
.NETと解釈したらいいんですよ
それだけ。
それが.NETの良いところ

488 名前:デフォルトの名無しさん mailto:sage [2018/02/16(金) 07:20:11.08 ID:shLmPi2M.net]
Win7 SP1 PowerShell 2.0の環境に隔離されたんだけどPSでGUIやるとしたら.NET 4.0のWinFormsが妥当?
セルフホストのHttpServerがあるならばブラウザアプリにするんだけどPS 2.0 .NET 4.0だとまだないよね

489 名前:デフォルトの名無しさん mailto:sage [2018/02/16(金) 15:20:24.69 ID:nkfY21W7.net]
Windows7 SP1なら https://github.com/PowerShell/PowerShell/releases から
2018/01/25公開のPowerShell Core 6.0.1を入手し、今の内に慣れておくほうがいいのでは?

490 名前:デフォルトの名無しさん [2018/02/16(金) 16:51:14.69 ID:jq0LJPC+.net]
>>467
『隔離された』と書いてあるんで
そうしなくてもできないという話じゃないの?

491 名前:デフォルトの名無しさん mailto:sage [2018/02/16(金) 19:11:11.01 ID:pw8u3FlN.net]
そうです
ネットは監視されてます
インストールも自由にできません

492 名前:デフォルトの名無しさん [2018/02/16(金) 19:31:53.38 ID:jq0LJPC+.net]
しかし、今後のネットなどを考えると
新たな発想の仕組みが出現してこないと
不自由でしかたないね。
いたちごっこの繰り返しだもんね。

493 名前:デフォルトの名無しさん mailto:sage [2018/02/16(金) 22:10:13.50 ID:pdOGHn5a.net]
リモートで別のPCを操作したいという要求がある限り穴は無くならないのでは?

494 名前:デフォルトの名無しさん [2018/02/16(金) 22:42:52.85 ID:vp1KbUn5.net]
今のところ、ネットがある限り穴はあるというところ。
でも今後ないと困るわけだからね〜。

それに対応する暗号利用技術は考えられているんだが
まだ実用化されないし。
といっても暗号化も対処技術に他ならないしね〜〜



495 名前:デフォルトの名無しさん mailto:sage [2018/02/16(金) 22:57:24.63 ID:TT/12OsV.net]
>>448
してる決まってるだろ。いくらなんでも素人杉。

496 名前:デフォルトの名無しさん [2018/02/17(土) 01:10:35.41 ID:YxQ+FKPw.net]
わたし448じゃないけど、基本してないでしょ。

497 名前:デフォルトの名無しさん mailto:sage [2018/02/17(土) 09:26:10.93 ID:RP1Lckbc.net]
GUIだんだんわかってきた
WPFが動くからFormsよりWPF使うほうが簡単だった
別ファイルにXAMLとViewMode(C#)を書いてXamlReaderでパース、Add-Type
しかし今のところPowerShellスクリプトの出番がほとんどない
PSCustomObjectをバインドできれば使えるのかな

498 名前:デフォルトの名無しさん [2018/02/17(土) 09:31:46.64 ID:AgYT9x+M.net]
>>475
私は、WPF利用して逆にPowerShellの出番がガンガン増えてるよ〜。

499 名前:デフォルトの名無しさん mailto:sage [2018/02/17(土) 14:55:08.94 ID:O2aJXn1j.net]
.NET Coreには、WPF無いけどPowerShell CoreからWPF使えるのかな?

500 名前:デフォルトの名無しさん mailto:sage [2018/02/17(土) 15:32:09.98 ID:tJC3jvlA.net]
んなわけない

501 名前:デフォルトの名無しさん mailto:sage [2018/02/17(土) 16:33:07.35 ID:/8k93ROr.net]
>>475
簡単なGUIならXAMLもPowerShellに書いちゃえばいいじゃん?

502 名前:デフォルトの名無しさん [2018/02/18(日) 00:25:57.67 ID:mfQi5O1f.net]
Visual StudioでWPF設計して
そのxamlをそのまま読みこんでPowerShellの表示に使えるように
PowerShell関数作ってます。
結構簡単に出来るよ

503 名前:デフォルトの名無しさん mailto:sage [2018/02/18(日) 07:28:07.73 ID:Stb7rhur.net]
>>480
エライエライ

504 名前:デフォルトの名無しさん mailto:sage [2018/02/18(日) 21:06:46.31 ID:HOomNEjj.net]
PowerShellで作る時に、使う最強のエディタは?



505 名前:デフォルトの名無しさん mailto:sage [2018/02/18(日) 22:10:00.84 ID:JlUJeRgg.net]
VSCode

506 名前:デフォルトの名無しさん mailto:sage [2018/02/19(月) 00:49:35.13 ID:PsquRqu/.net]
edlin

507 名前:デフォルトの名無しさん mailto:sage [2018/02/19(月) 05:38:51.91 ID:p/IhV2LV.net]
>>482
VSCodeが決定版
やっぱ同じMS製だし
他言語でも使える

508 名前:デフォルトの名無しさん mailto:sage [2018/02/21(水) 21:50:44.89 ID:sytXW6IH.net]
excelの選択範囲をpowershellに渡す方法教えて
ファイルに出力→powershellサブプロセス
はダサいから無しで

509 名前:デフォルトの名無しさん [2018/02/22(木) 03:26:54.69 ID:hk+HnqcW.net]
$excel=New-Object -ComObject Excel.Application
$excel.Visible=$true
$wokbook=$excel.workbooks.open("なんとか.xlsx")
$woksheet=$wokbook.ActiveSheet
$actCells=$excel.Selection

510 名前:デフォルトの名無しさん [2018/02/22(木) 03:28:18.65 ID:hk+HnqcW.net]
要は、最後の1行
$actCells=$excel.Selection

511 名前:デフォルトの名無しさん mailto:sage [2018/02/24(土) 01:27:05.92 ID:u/AYofsf.net]
そういうのでよく使うのはGetObjectの方だと思う

512 名前:デフォルトの名無しさん mailto:sage [2018/02/24(土) 02:25:42.58 ID:EfAIzsYg.net]
エクセルついでに、
csvをエクセルで開いて配列に一気に取り込んで、それをxlsx形式で新規保存する方法教えて。

513 名前:デフォルトの名無しさん [2018/02/24(土) 05:43:27.81 ID:4C8nRMYU.net]
$excel=New-Object -ComObject Excel.Application
$excel.DisplayAlerts=$false
$workbook=$excel.workbooks.open(”入力path\なんとか.csv")
$workbook.SaveAs("保存path\かんとか.xlsx",51)
$workbook.Close()
$excel.Quit()

514 名前:デフォルトの名無しさん mailto:sage [2018/02/24(土) 09:43:41.67 ID:tzORDq38.net]
ありがとう。
エクセルで開くときはcsv importみたいなコマンドレットは必要ないのね。その辺が調べてもよく分からなかった。

なお、配列にはデータ取り込んでる?
@()に入れる方法がよく分からん。
vbsだとarray=sheet.usedrange でできるけど。



515 名前:デフォルトの名無しさん [2018/02/24(土) 10:16:12.10 ID:4C8nRMYU.net]
>>492
ごめん、いま明日の引っ越し準備で
対応できない。

516 名前:デフォルトの名無しさん mailto:sage [2018/02/24(土) 12:22:39.31 ID:NyTmnWgI.net]
$array = $sheet.UsedRange.Value2
で良いんじゃね

517 名前:デフォルトの名無しさん mailto:sage [2018/02/24(土) 15:03:06.06 ID:EfAIzsYg.net]
なるほど。
powershell だからパイプライン使うイメージだったけど、エクセル操作ではあまり使えない感じなんだね。

518 名前:デフォルトの名無しさん mailto:sage [2018/02/24(土) 15:07:47.88 ID:9oN2QzaC.net]
20年近く前にvbscriptで散々やったものを今必死にPowerShellで再現してる最中なのか。

519 名前:デフォルトの名無しさん mailto:sage [2018/02/24(土) 22:59:13.75 ID:EfAIzsYg.net]
ほんとそんな感じ。
サーバー管理するわけでもないなら、powershell そんなに覚える必要ないかな。ただパイプラインは面白いと思う

520 名前:デフォルトの名無しさん mailto:sage [2018/02/25(日) 00:32:11.83 ID:01COGLgI.net]
ファイル操作には便利だよ
単機能のツール探すよりPSで書いた方が早いこと多い

521 名前:デフォルトの名無しさん mailto:sage [2018/02/25(日) 01:39:02.81 ID:pcyqC+jB.net]
PowerShell より複雑なものは、Ruby を使え

Rubyから、Excel を扱うライブラリも、色々あるみたい

522 名前:デフォルトの名無しさん mailto:sage [2018/02/25(日) 01:40:14.58 ID:bSC8YYTG.net]
>>499
Excelならc#で十分だわ

523 名前:デフォルトの名無しさん mailto:sage [2018/02/25(日) 01:46:43.42 ID:xNv2PYt4.net]
pythonスレやpowershellスレでひたすらrubyすすめてくるキチガイはなんなんだw

524 名前:デフォルトの名無しさん [2018/02/25(日) 03:34:56.38 ID:X5QEzlQF.net]
>>499
COM経由で一緒



525 名前:デフォルトの名無しさん mailto:sage [2018/02/25(日) 04:58:27.12 ID:5ohi2TD0.net]
なんかrubyはずっといる

526 名前:デフォルトの名無しさん mailto:sage [2018/02/25(日) 04:58:51.59 ID:5ohi2TD0.net]
>>500
VBAだろ

527 名前:デフォルトの名無しさん mailto:sage [2018/02/25(日) 06:53:28.67 ID:579ZQdUK.net]
>>500
System.Runtime.InteropServices.Marshal.ReleaseComObject( ) 地獄に落ちてもいいならな

MSもMicrosoft.Office.Interop.Excelはアンマネージドなリソース使うんだからDisposeを真面目に実装しとけよ

528 名前:デフォルトの名無しさん mailto:sage [2018/02/25(日) 07:36:24.71 ID:xNv2PYt4.net]
そうじゃなくて今はClosedXMLとかを使うんじゃないの

529 名前:デフォルトの名無しさん mailto:sage [2018/02/25(日) 07:44:46.15 ID:bSC8YYTG.net]
>>505
いつの時代の話だよ

530 名前:デフォルトの名無しさん mailto:sage [2018/02/25(日) 08:14:51.73 ID:/V/K592r.net]
客先で他になんにもないときにめちゃ助かる
VBAも悪くないけど基本ライブラリしょぼいし別プロセス連携とかオブジェクト指向やりにくいから

>>505
Book.CloseとかApp.Quitとか要点さえ守ればCOMラッパーが参照カウントを処理してくれるからReleaseComObjectは不要

531 名前:デフォルトの名無しさん mailto:sage [2018/02/25(日) 08:39:48.35 ID:RKRNLmY8.net]
ただ本音を言うとCOMはもう直接触りたくない
裏方に徹してくれる分にはいいんだけど

そもそもOfficeが.NETのプラットフォームから逸脱してるのが面倒の素

532 名前:デフォルトの名無しさん mailto:sage [2018/02/25(日) 09:25:49.90 ID:Ydc/tL+D.net]
データ取り込み->OleDb
帳票出力->サードパーティのマネージドライブラリ
操作性拡張->VBA

.NET相互運用は需要がない

533 名前:デフォルトの名無しさん mailto:sage [2018/02/25(日) 16:14:29.85 ID:4dYhkUpy.net]
>>507-508
> Book.CloseとかApp.Quitとか要点さえ守ればCOMラッパーが参照カウントを処理してくれるからReleaseComObjectは不要
マジで言ってるの?
それとも最近便利な(まともな)ラッパーでもできたの?

534 名前:デフォルトの名無しさん mailto:sage [2018/02/25(日) 16:45:57.41 ID:f0GbsyKa.net]
ラッパーなんてあるの?
webに転がってるpowershellの糞コードはまともに開放してないし
powershellで気を付けるレベルじゃどうやっても開放漏れは起こる
潔癖ならCOMと親和性の高いwshで処理したらいいし
大抵の人はEXCEL.EXEが残らなければOKって考えでしょ



535 名前:デフォルトの名無しさん mailto:sage [2018/02/25(日) 19:36:34.84 ID:Ydc/tL+D.net]
逆に聞きたいんだが適切にCloseやQuitしててもリソースリークするエビデンスってある?

536 名前:デフォルトの名無しさん mailto:sage [2018/02/25(日) 19:37:48.11 ID:riORzo3z.net]
>>511
NPOIとかClosedXMLすら使ったことないん?

537 名前:デフォルトの名無しさん mailto:sage [2018/02/25(日) 20:06:18.82 ID:Ydc/tL+D.net]
そもそもエクセルプロセスが生きてる以外にリーク判定ってどうやってんだ?

538 名前:デフォルトの名無しさん mailto:sage [2018/02/25(日) 23:21:13.29 ID:97AlcoLv.net]
質問です。EXCELファイル内のマクロコードをGREP検索したいのですが
powershellからそのようなことは出来るのでしょうか?
(powershell以外の方法でも構いません)

539 名前:デフォルトの名無しさん mailto:sage [2018/02/26(月) 08:48:04.46 ID:0MjsGOBH.net]
>>513
C# の話な

> 逆に聞きたいんだが適切にCloseやQuitしててもリソースリークするエビデンスってある?
適切の意味にもよるけどシートを参照したままApplication.Quit() してもリソースリークするって言うのはググれば出てくる
(これはV

540 名前:B.NETの例だけど)
https://social.msdn.microsoft.com/Forums/ja-JP/3a296f83-4a49-4561-a735-570aa7430874/ecxel?forum=vbgeneralja

>>514
COMの話であることも理解できないアホは絡んでくるなよ
[]
[ここ壊れてます]

541 名前:デフォルトの名無しさん mailto:sage [2018/02/26(月) 08:55:33.76 ID:qQ1Da7Hp.net]
>>517
どうも日本語が不自由なようだ

542 名前:デフォルトの名無しさん mailto:sage [2018/02/26(月) 09:29:44.47 ID:0MjsGOBH.net]
>>518
お前が誰か知らんけどそんなレスしかできないなら黙ってなよ w

543 名前:デフォルトの名無しさん mailto:sage [2018/02/26(月) 09:57:08.97 ID:MMVJYAud.net]
>>519
涙拭けよw

544 名前:デフォルトの名無しさん mailto:sage [2018/02/26(月) 10:12:54.85 ID:0MjsGOBH.net]
なんだ、無能の煽りかよ



545 名前:デフォルトの名無しさん mailto:sage [2018/02/26(月) 12:17:43.07 ID:7zf74qFu.net]
>>521
顔真っ赤にしてどうした?w

546 名前:デフォルトの名無しさん mailto:sage [2018/02/26(月) 12:21:47.40 ID:aBQXIVru.net]
ゆとりはCOMやオブジェクト思考を理解できない。

547 名前:デフォルトの名無しさん mailto:sage [2018/02/26(月) 12:29:53.91 ID:LisqF3+Y.net]
いまどきCOMとかwww

548 名前:デフォルトの名無しさん mailto:sage [2018/02/26(月) 12:32:03.28 ID:aBQXIVru.net]
このとおり。COMが何かすら理解してない様子。

549 名前:デフォルトの名無しさん mailto:sage [2018/02/26(月) 12:49:39.49 ID:K3pn9bD4.net]
今は2018年だった気がするが

550 名前:デフォルトの名無しさん mailto:sage [2018/02/26(月) 13:03:41.88 ID:byvTlEgJ.net]
>>517
エビデンスって言うには弱いな
コードの断片だけ見せて開放されないんですって言ってる人が居たってだけで
それにこれたぶんGC回ったら回収されるパターンでしょ

551 名前:デフォルトの名無しさん mailto:sage [2018/02/26(月) 13:18:51.36 ID:aBQXIVru.net]
MSのメモリリークのバグなんて昔から何度もあったのに。MSも随分と信用を得たものだ。

552 名前:デフォルトの名無しさん mailto:sage [2018/02/26(月) 13:26:17.87 ID:zI4VKzz4.net]
まあ今時COMって言うのは間違ってはないとは思うがCOMの話してるのにNPOIとかClosedXMLととか言い出す>>514が頓珍漢であることは変わらない

553 名前:デフォルトの名無しさん mailto:sage [2018/02/26(月) 13:33:29.92 ID:aBQXIVru.net]
VS2017にATLついてる。なぜならMSが必要だから。COMなしではWindowsは動かない基盤技術。

おまえらの2chブラウザも動かなくなる。

554 名前:デフォルトの名無しさん mailto:sage [2018/02/26(月) 15:06:05.67 ID:tmFMcABi.net]
流れを見ると>>500のレスを>>505が勝手にCOMの話と勘違いしたからそもそも話しがおかしくなってるんだと思うけど
どっちにしろたいした話もできてないからもう終わりでよくね



555 名前:デフォルトの名無しさん mailto:sage [2018/02/26(月) 15:21:15.75 ID:9PwnP/L5.net]
ClosedXMLはExcelを操作するんじゃなくてExcelファイルを操作するライブラリだしww
てかいつまで粘着するの?

556 名前:デフォルトの名無しさん mailto:sage [2018/02/26(月) 17:32:43.42 ID:JDadgspp.net]
COMの話題でどっと混む

557 名前:デフォルトの名無しさん mailto:sage [2018/02/26(月) 18:04:10.90 ID:XspdtcWH.net]
エクセルでcsvを開いて、名前変えてエクセルファイルとして保存したいんだけど、
c:/test.csv
から
c:/test_add.xlsx
って感じに。
このとき、split-path $_ -parent + "/" + $.basename + "_add.xlsx"
みたいな書き方してるんだけど、もっとカッコいい良い書き方ある?

558 名前:デフォルトの名無しさん mailto:sage [2018/02/26(月) 20:02:07.45 ID:tmFMcABi.net]
>>534
かっこいいかは分からんけどjoin-path使ったり
Join-Path $_.Directory ($_.BaseName + "_add.xlsx")

置換したり
$_.FullName -replace "\.csv$", "_add.xlsx"

単に文字列内で展開してもいいだろうし
"$($_.Directory)\$($_.BaseName)_add.xlsx"

559 名前:デフォルトの名無しさん mailto:sage [2018/02/26(月) 23:11:59.96 ID:6edExPT+.net]
>>535
ありがとうございます。
さらっと3通り出るのすごい。

joinがpowershell 使ってる感あって好き、けど文字列内の$$もいいな

560 名前:デフォルトの名無しさん mailto:sage [2018/02/26(月) 23:14:27.61 ID:cmg78qzM.net]
PowerShellで画面の文字拡大率を変更する事は可能?
ノートPC使っていると、150%とか100%を変えたい時があるが
いちいちGUIで変更するのが大変

561 名前:デフォルトの名無しさん mailto:sage [2018/02/27 ]
[ここ壊れてます]

562 名前:(火) 10:39:21.42 ID:OXeiIV2T.net mailto: PowerShell.exeのショートカット2つ作ってプロパティで色やらフォントサイズやらを別々に設定して
好きな方を起動するというのはできる
[]
[ここ壊れてます]

563 名前:デフォルトの名無しさん mailto:sage [2018/02/27(火) 14:22:33.25 ID:CzY5WQW+.net]
顔を画面に近づけるだけだろ。どんだけデブなんだよ。

564 名前:デフォルトの名無しさん mailto:sage [2018/02/28(水) 14:27:13.44 ID:wxg4ntZg.net]
文字の大きさなんて超基本なのに
その煽りはないわ



565 名前:デフォルトの名無しさん mailto:sage [2018/02/28(水) 21:26:18.73 ID:XB4appM3.net]
好きに変更すりゃいいじゃねーか。GUIで変更は嫌だとか、キーに割り当てるのも嫌だとか、
顔近づけるのも嫌だとか、ほんとデブは馬鹿で横着だからヤダね。

メイドでも雇って変更してもらえや。

566 名前:デフォルトの名無しさん mailto:sage [2018/02/28(水) 21:35:16.05 ID:Gdb2LJhC.net]
この句読点は無視でいいよ

567 名前:デフォルトの名無しさん [2018/02/28(水) 21:39:00.90 ID:XB4appM3.net]
句読点の打ち方が分からない低学歴アピール乙。

568 名前:デフォルトの名無しさん [2018/02/28(水) 22:44:45.43 ID:updNaSP6.net]
>>537 で言っているのは、何の画面のこと?
powershell.exeのコマンド画面も
powershell_iseのエディターも既定値設定できるんで
なんの話か理解できなくて。

569 名前:544 [2018/02/28(水) 22:53:58.42 ID:updNaSP6.net]
自分の文章理解力がなかった
Windowsの画面そのもののフォントサイズを
変更したいという話だったのね。

570 名前:デフォルトの名無しさん [2018/02/28(水) 23:12:12.84 ID:XB4appM3.net]
GUIで設定するのも面倒、句読点を打つのも面倒。脳に障害があるレベルだな。

だが安心してください。Windowsには障碍者モードが実装されてます。

571 名前:デフォルトの名無しさん mailto:sage [2018/03/01(木) 01:21:24.03 ID:nHL6zjeN.net]
まあ、PowerShellというよりもWindowsコンソールが機能不足かつ分かりづらいのは確か
ただ、フォントサイズくらいは変えられる

572 名前:デフォルトの名無しさん mailto:sage [2018/03/01(木) 01:23:11.44 ID:0hekOGPH.net]
PPMとか生成したバイナリデータをリダイレクトで保存するのは難しいのかな
cmdはできるのに

573 名前:デフォルトの名無しさん mailto:sage [2018/03/01(木) 10:56:37.02 ID:tP9VZ2s0.net]
句読点の付け方は別に間違っちゃいないけど、2chでそこまでしっかり打つのは少数派だから
ちょっと異様に見えるよ

574 名前:デフォルトの名無しさん [2018/03/01(木) 11:57:54.51 ID:lQ3pJcx7.net]
単純に低学歴、低知能は句読点を打たない。
文章や論文を書く習慣がないし本も全く読まないから句読点がないことに違和感がない。つまり馬鹿。

ひろゆきすら打つ。くだらない知ったかして2ch素人にもほどがあるな。
しかも句読点があると異様だとかもはや脳みそに蛆でも沸いてるレベル。もはや日本人じゃないな。

1 名前:ひろゆき@どうやら管理人 ★[] 投稿日:2014/04/09(水) 14:47:55.24 ID:???
なんらかの不具合を見つけたら、
報告するスレッド。

118 名前:ひろゆき@どうやら管理人 ★[] 投稿日:2014/04/12(土) 02:48:58.08 ID:???
>>25
どうぞ、どうぞ。



575 名前:デフォルトの名無しさん mailto:sage [2018/03/01(木) 12:37:08.99 ID:tP9VZ2s0.net]
ひろゆきも打つからなんだっつーの
本と2ch(というかメールやブログのコメントもだけど)は大きく違う
ソフトによって画面端での自動の改行がさされたりされなかったりするから、長い行はあまり書かない
「。」の代わりに改行で済ますように変化してる
行末に「。」を付けるのはかなり少数派だよ

576 名前:デフォルトの名無しさん [2018/03/01(木) 13:38:12.57 ID:Bn8v5XdY.net]
>>550
そういう見方もあるだろうが
昔に戻ると、句読点は必須ではなく
文章に不慣れな人達のために使われるようになったそうで、
いまでいう高学歴というような人に対しては使わないもの
だったそうだ。
そのために、今でも表彰状などには句読点は一

577 名前:切使われない。

ちなみに、句読点が一般的に使われるようになったのは、
明治半ば以降だそうだ。
[]
[ここ壊れてます]

578 名前:デフォルトの名無しさん mailto:sage [2018/03/01(木) 15:34:24.24 ID:mJRDcTgH.net]
読みづらくなきゃなんでもいいと思うよ
クッソ読みづらくても句読点のあるなしにしか拘らん方が問題ある
読みやすい文の組み立てを心がければいいでしょう

579 名前:デフォルトの名無しさん [2018/03/01(木) 15:34:48.45 ID:Bn8v5XdY.net]
感謝状、招待状等あえて句読点をつけない文章の共通点とは?
https://woman.mynavi.jp/article/150205-71/

かつて、句読点を付けるのは『相手を見下す』
要は、句読点がないと文章も読めないだろうと相手を見なすことに
なることだったようだ。

ま、当時は漢字の利用頻度も高く、漢字ひらがな混じりでも
読みやすかったのでしょう。今はひらがななどの割合が高いので
やはり適切に句読点を使う必要あるんでしょうね。

580 名前:デフォルトの名無しさん mailto:sage [2018/03/01(木) 15:40:17.42 ID:mJRDcTgH.net]
長文でひらがな比率高いと文の区切りが分からなくなりますからね。

581 名前:デフォルトの名無しさん mailto:sage [2018/03/01(木) 19:01:36.71 ID:5P8YUW6k.net]
>>550
句読点の、打ち方が下手な香具師もよく、見かける

582 名前:デフォルトの名無しさん mailto:sage [2018/03/01(木) 19:41:09.89 ID:Bj3H1eP5.net]
単に句読点はこのスレで低レベルな煽りを繰り返してるキチガイの特徴ってことだろ
IDかわってもすぐわかる

583 名前:デフォルトの名無しさん mailto:sage [2018/03/01(木) 19:50:29.18 ID:dLJOyeYF.net]
句読点を適切に付与するスクリプト書いてよ

584 名前:デフォルトの名無しさん mailto:sage [2018/03/01(木) 20:40:16.88 ID:yqOkTTLk.net]
powershellだけでプロジェクト組むとしたらどういうフォルダ構造にする?



585 名前:デフォルトの名無しさん mailto:sage [2018/03/01(木) 21:33:08.36 ID:cFY6likq.net]
中東あたりだと母音を省略してしまうんだよね?

586 名前:デフォルトの名無しさん mailto:sage [2018/03/02(金) 12:53:13.17 ID:Bue9fMqJ.net]
煽りうざいから話題換えよう

>>559
良い質問な気がする

ただオレ自身は単ファイルで済むバッチ
みたいなのを書くのがほとんどだから

もし本格的なプロジェクトのフォルダ構成を組むなら
JavaとかRubyとか他言語の構成をマネするかな

587 名前:デフォルトの名無しさん mailto:sage [2018/03/03(土) 09:41:45.03 ID:7F+xAEZY.net]
PSCustomObjectで特定のinterfaceを実装したいんだがやりかたわからん

public interface IFoo {
int Bar(int x);
}

public static class Hoge {
public static void Fuga(IFoo foo) {
Console.WriteLine(foo.Bar(100));
}

$foo = new-object pscustomobject |
add-member -passthru -membertype scriptmethod -name Bar -value { param($p)
return 200 }

[Hoge]::Fuga($foo)

こういうことしたい

588 名前:デフォルトの名無しさん mailto:sage [2018/03/03(土) 22:48:42.40 ID:ApJ804E1.net]
GoやTypeScriptじゃないんだからメソッドを持ってるからってinterfaceを実装してることにはならんよ
素直にIFooを実装するclassを定義すれば?

589 名前:デフォルトの名無しさん mailto:sage [2018/03/04(日) 08:59:59.87 ID:DH1b2y4q.net]
>>563
そのやり方を知りたい

590 名前:デフォルトの名無しさん mailto:sage [2018/03/04(日) 09:31:45.51 ID:6fb5BRTO.net]
>>564
実装されたインターフェイスの宣言
https://docs.microsoft.com/ja-jp/powershell/wmf/5.0/class_interface

591 名前:デフォルトの名無しさん mailto:sage [2018/03/04(日) 09:49:31.76 ID:DH1b2y4q.net]
>>565
2.0でもできる方法教えてください

592 名前:デフォルトの名無しさん mailto:sage [2018/03/04(日) 10:53:23.51 ID:8KjE9Kl8.net]
条件後出しというやつか

593 名前:デフォルトの名無しさん mailto:sage [2018/03/04(日) 11:29:41.66 ID:xMU3H7cs.net]
>>566
むしろ今の内に5.1以降(できれば最新の6.0.1)に慣れておくほうが良いと思うけどな

594 名前:デフォルトの名無しさん mailto:sage [2018/03/04(日) 12:58:31.78 ID:D98mTqXy.net]
業務で使うマシンはOSが最新



595 名前:ニは限らない
PSもほとんどアップデートされてない
だから低いバージョンでも使えるように訓練したほうがいい
最新版は追いかけるメリットがない
[]
[ここ壊れてます]

596 名前:デフォルトの名無しさん mailto:sage [2018/03/04(日) 13:10:20.82 ID:7vnf9POv.net]
企業ならクライアントもWindows 7とか珍しくないから配布するようなスクリプトだと2.0前提

597 名前:デフォルトの名無しさん mailto:sage [2018/03/04(日) 13:58:40.18 ID:9+M4xykP.net]
>>566
add-typeあるんだから普通にC#で書けば良くね
https://pastebin.com/mnvdH77F
PSCustomObjectに実装しないといけないなら知らんけど

598 名前:デフォルトの名無しさん mailto:sage [2018/03/04(日) 15:05:09.28 ID:IHwduGqd.net]
Windows PowerShell 2.0 Deprecation
https://blogs.msdn.microsoft.com/powershell/2017/08/24/windows-powershell-2-0-deprecation/

599 名前:デフォルトの名無しさん mailto:sage [2018/03/04(日) 17:24:27.69 ID:D98mTqXy.net]
>>571
それじゃpowershellコマンド使えないじゃん

600 名前:デフォルトの名無しさん [2018/03/04(日) 21:56:10.13 ID:hNuDXfDM.net]
句読点を多用するのは下手な日本語で嫌われる。

もともとどこが句切りかわからないひと向けの記号だから、句読点の使用は馬鹿にされることもある。

601 名前:デフォルトの名無しさん mailto:sage [2018/03/04(日) 22:04:18.45 ID:E9oZl2pC.net]
pushd/popd 便利やなあ
わしゃずっとcd使っとったぞい

602 名前:デフォルトの名無しさん [2018/03/05(月) 05:26:47.07 ID:ZV3N5zu0.net]
>>575
わたしゃ多用してますわ
push-location
pop-location
と省略せずにつかっておりますです

603 名前:デフォルトの名無しさん mailto:sage [2018/03/06(火) 18:11:54.95 ID:QwFmEXbL.net]
c# scriptingのほうが楽とちゃうか?
ネイティヴコマンド連携だけは若干ps有利かなといった印象

604 名前:デフォルトの名無しさん mailto:sage [2018/03/06(火) 20:17:46.87 ID:Xwb93uOm.net]
その時々で都合の良いほうを使えばいいよ
同じ.NETなんだから否定する理由も無い



605 名前:デフォルトの名無しさん mailto:sage [2018/03/07(水) 07:41:36.43 ID:E7Qx2uww.net]
>>578
あ、議論から逃げたw

606 名前:デフォルトの名無しさん [2018/03/07(水) 07:47:27.99 ID:Bp6mjckS.net]
>>577
C# scriptingその後の話題が無いところをみると
どうも今一つなんかな

607 名前:デフォルトの名無しさん mailto:sage [2018/03/07(水) 21:20:29.09 ID:6bAELGui.net]
>>577
シェルのlsやらcatやらみたいなのもc# scriptingのほうが楽なの?

608 名前:デフォルトの名無しさん mailto:sage [2018/03/08(木) 00:59:56.29 ID:D0NacyLc.net]
bashとかが駄目な理由に、bashで書きづらくても、そこからpythonとか他の言語にするなら全部書き直しになる

609 名前:デフォルトの名無しさん mailto:sage [2018/03/08(木) 01:13:22.32 ID:uJW9EWjF.net]
CLIが嬉しいと言いたいのかな。ちょっと論旨が理解できないが。

610 名前:デフォルトの名無しさん mailto:sage [2018/03/08(木) 04:26:04.35 ID:OsiEjbqp.net]
script vs shell scriptとか何十年前の話題だよ
進歩のない連中だ

611 名前:デフォルトの名無しさん [2018/03/15(木) 06:42:05.85 ID:D4RVJiAa.net]
OSのシェルとプログラミング言語の区別がない人間ばかりだから仕方ない。

612 名前:デフォルトの名無しさん mailto:sage [2018/03/15(木) 12:26:16.83 ID:Vp0MsA86.net]
シェルスクリプトをどちらかに分類したがるのは無理なのでは。

613 名前:デフォルトの名無しさん mailto:sage [2018/03/15(木) 15:36:12.78 ID:BVhm+pK4.net]
basicはどっちなん?

614 名前:デフォルトの名無しさん [2018/03/15(木) 16:51:24.16 ID:2jkAdz6t.net]
単に、UNIXなどで単機能インタープリターをシェルと
呼び始めたんで、シェルは別物と思う人たちが出てきて
しまっただけ。



615 名前:デフォルトの名無しさん mailto:sage [2018/03/15(木) 22:19:45.69 ID:NI14hTsx.net]
OSのシステムコールとプログラミング言語の区別がない人間も多い

616 名前:デフォルトの名無しさん mailto:sage [2018/03/16(金) 08:54:28.41 ID:T21mXgK0.net]
システムコールとライブラリ関数
http://

617 名前:jibun.atmarkit.co.jp/lskill01/rensai/fulinux/02/01.html

システムコールとライブラリ関数の区別は曖昧で、
昔はシステムコールだった手続きも今はライブラリ関数として実装されていることがありますし、その逆もあります。
そういった意味では、システムコールとライブラリ関数の違いを本気で意識しなければならないのは
カーネルや基幹ライブラリを書くプログラマくらいと言えるかもしれません。

システムコールとライブラリ関数の違いが実際に役に立つのは、manページを参照するときです。
例えば「printf」にはコマンドのprintfとライブラリ関数のprintfがあるので、
ライブラリ関数のprintfの解説が見たければ「man 3 printf」と入力しないといけません。
「write」にはコマンドのwriteとシステムコールのwriteがあるので、
システムコールのほうが読みたければ「man 2 write」と入力しないといけません。
[]
[ここ壊れてます]

618 名前:デフォルトの名無しさん [2018/03/17(土) 11:59:28.36 ID:4+yOSMEm.net]
>>586
おまえはシェルがシェルスクリプトだと思っているのか?

619 名前:デフォルトの名無しさん [2018/03/17(土) 12:01:46.42 ID:4+yOSMEm.net]
シェル用のスクリプトだからシェルスクリプトなのに。

620 名前:デフォルトの名無しさん mailto:sage [2018/03/17(土) 16:54:33.86 ID:gmKtMsY0.net]
史上嘗て無い頭の悪そうな突っ込み

621 名前:デフォルトの名無しさん mailto:sage [2018/03/21(水) 11:12:47.74 ID:yOhpRYak.net]
ps coreイイね

622 名前:デフォルトの名無しさん [2018/03/21(水) 12:31:30.05 ID:U1NUu6zm.net]
>>594
そっすか

623 名前:デフォルトの名無しさん mailto:sage [2018/03/21(水) 12:38:11.67 ID:sjE01Nui.net]
powershell_ise coreとかあったら良いのに
と思ったけど流石に需要ないか

624 名前:デフォルトの名無しさん mailto:sage [2018/03/21(水) 12:51:05.01 ID:kSqnsZIp.net]
>>596
俺も欲しい
vscodeでも出来るけど、捨てコード書くには面倒なんだよね



625 名前:デフォルトの名無しさん mailto:sage [2018/03/22(木) 00:18:59.44 ID:tdHViWJs.net]
VSCode の、Code Runner
ソースコードの範囲を選択して、実行できる

これは、便利なプラグイン!

626 名前:デフォルトの名無しさん mailto:sage [2018/03/22(木) 00:26:12.80 ID:2RoYBMkH.net]
>>598
それ入れてないけど、範囲選択+F8で部分実行できたぞ
多分バージョンアップで不要になったプラグインだね

627 名前:デフォルトの名無しさん mailto:sage [2018/03/22(木) 01:00:47.33 ID:arhMS6Ve.net]
部分実行できる言語もあるしできない言語もある
対象言語にも触れず「これは便利!」っつってる>>598もアホだし、対象言語もわかってないのに「バージョンアップで不要になったプラグイン」っつってる>>599もアホ

628 名前:デフォルトの名無しさん mailto:sage [2018/03/22(木) 01:18:02.22 ID:2RoYBMkH.net]
スレタイも読んでない600が一番アホでは?

629 名前:598 [2018/03/22(木) 04:55:52.14 ID:tdHViWJs.net]
VSCode の、Code Runner
ソースコードの範囲を選択して、右クリックメニューから実行できる

便利なプラグイン!

PowerShell にも対応している

630 名前:デフォルトの名無しさん mailto:sage [2018/03/22(木) 06:41:35.55 ID:G0SZ4nh0.net]
宣伝

631 名前:デフォルトの名無しさん mailto:sage [2018/03/24(土) 09:35:21.60 ID:9NxgdLlD.net]
powershell coreでNuGetパッケージを使いたい場合ってどうすればいいの
Dapperを使う時にC#だったらdotnet add package Dapper; dotnet restoreだけどpowershellプロジェクトだとどうするのかな

632 名前:デフォルトの名無しさん mailto:sage [2018/03/25(日) 17:30:21.30 ID:rN4AhykW.net]
dotnet add package Dapper
dotnet restore --packages ./packages
Add-Type $source -ReferencedAssemblies netstandard, ./packages/.../Dapper.dll

これでできたわ
お前らまじで使えねえなー

633 名前:デフォルトの名無しさん mailto:sage [2018/03/26(月) 07:20:39.22 ID:90OCo3hj.net]
すみません。。

634 名前:デフォルトの名無しさん [2018/03/28(水) 21:08:11.49 ID:rexEOFUm.net]
とあるフォルダ配下にあるテキストファイルだけ抽出して配列に格納
別のフォルダ配下にあるテキストファイルだけ抽出して配列に格納し配列同士を比較して同じファイルのみを抜き出してCompare-Objectで比較したいんですけどどうやったらできますか?



635 名前:デフォルトの名無しさん mailto:sage [2018/03/28(水) 22:43:30.34 ID:WBaBvJPO.net]
>>607
$a = ls "フォルダ1" *.txt
$b = ls "フォルダ2" *.txt
$a + $b | group name | where count -eq 2 | foreach { $_.name; compare (gc $_.group[0] .fullname) (gc $_.group[1].fullname) | ft }

636 名前:デフォルトの名無しさん mailto:sage [2018/03/29(木) 01:53:06.95 ID:0KWZ/AkQ.net]
>>608
>gc $_.group[0] .fullname

.fullname の前に、半角空白が入っているから、エラーになる

637 名前:デフォルトの名無しさん mailto:sage [2018/03/29(木) 04:02:59.38 ID:63+/4se6.net]
>>608
似たようなことよくやるが、やっぱ癖が出るね
自分なら最初こうやるかな
@(
Get-ChildItem "フォルダ1" *.txt
Get-ChildItem "フォルダ2" *.txt
)|

変数あまり使いたくないし、lsは動作がUNIXとは違うから紛らわしくて

638 名前:デフォルトの名無しさん mailto:sage [2018/03/29(木) 07:16:54.73 ID:V1TivHhi.net]
>>609
ありゃconemuだと折返し部分に勝手にスペース入っちゃうんだな

>>610
そのへんは好みだとしてもそれ見て気づいたけどファイルが一つしかなくて$aが配列じゃない場合 $a + $b だとエラーになるね
@($a; $b) とすべきだったか

639 名前:デフォルトの名無しさん mailto:sage [2018/03/29(木) 07:57:32.30 ID:0KWZ/AkQ.net]
1つか複数かで、オブジェクトの型が違うのか

ややこしい言語やな

640 名前:デフォルトの名無しさん mailto:sage [2018/03/29(木) 12:10:52.44 ID:ZJ5ir4HC.net]
そういう細かい変な挙動がめんどくさいからC#で書いてAdd-Typeしてるわ
Linqあれば大抵の処理はPowerShellより書きやすいし読みやすい

641 名前:デフォルトの名無しさん [2018/03/29(木) 21:42:00.78 ID:QJhSKNI2.net]
>>608
ありがとうございます
これやったんですけどcountのところで型エラーになっちゃいました
>>610>>611でもダメみたいです

642 名前:デフォルトの名無しさん mailto:sage [2018/03/29(木) 22:03:31.09 ID:AdhamQsX.net]
& {
ls foo
ls bar
}

643 名前:デフォルトの名無しさん mailto:sage [2018/03/29(木) 22:51:24.43 ID:V1TivHhi.net]
>>614
powershellのバージョンは?
古いのはよくわからんけど Group-Object -Property Name とかしたらできるんかね 

644 名前:デフォルトの名無しさん mailto:sage [2018/03/29(木) 22:57:06.82 ID:V1TivHhi.net]
もしpowershell2ならこれなら動くんじゃないかな、試してないけど
@($a; $b) | Group-Object -Property Name | Where-Object { $_.Count -eq 2 } | Foreach-Object { $_.Name; Compare-Object -ReferenceObject $(Get-Content $_.Group[0].Fullname) -DifferenceObject $(Get-Content $_.Group[1].Fullname) | Format-Table }



645 名前:デフォルトの名無しさん mailto:sage [2018/03/29(木) 23:14:54.79 ID:cCEUqbyZ.net]
>>616

バージョンこんな感じです
> $PSVersionTable

Name Value
---- -----
CLRVersion 2.0.50727.8762
BuildVersion 6.1.7601.17514
PSVersion 2.0
WSManStackVersion 2.0
PSCompatibleVersions {1.0, 2.0}
SerializationVersion 1.1.0.1
PSRemotingProtocolVersion 2.1

646 名前:デフォルトの名無しさん mailto:sage [2018/03/29(木) 23:18:05.53 ID:cCEUqbyZ.net]
>>617
やると↓

$a=Get-ChildItem "D:\test\*.*" -include *.txt,*.dat
$b=Get-ChildItem "G:\test\*.*" -include *.txt,*.dat
@($a; $b) | Group-Object -Property Name | Where-Object { $_.Count -eq 2 } | Foreach-Object { $_.Name;
ompare-Object -ReferenceObject $(Get-Content $_.Group[0].Fullname) -DifferenceObject $(Get-Content $_.Group[1].Fullname
| Format-Table }

b.txt
Compare-Object : 引数が null であるため、パラメーター 'ReferenceObject' にバインドできません。
発生場所 行:1 文字:134
+ @($a; $b) | Group-Object -Property Name | Where-Object { $_.Count -eq 2 } | Foreach-Object { $_.Name; Compare-Object
-ReferenceObject <<<< $(Get-Content $_.Group[0].Fullname) -DifferenceObject $(Get-Content $_.Group[1].Fullname) | Form
at-Table }
+ CategoryInfo : InvalidData: (:) [Compare-Object]、ParameterBindingValidationException
+ FullyQualifiedErrorId : ParameterArgumentValidationErrorNullNotAllowed,Microsoft.PowerShell.Commands.CompareObje
ctCommand

647 名前:デフォルトの名無しさん mailto:sage [2018/03/29(木) 23:45:57.68 ID:V1TivHhi.net]
それ単に空ファイルだからでしょ

648 名前:デフォルトの名無しさん [2018/03/29(木) 23:54:26.21 ID:cCEUqbyZ.net]
>>620
空ファイルとの差分も比較したいっす

649 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 00:15:02.11 ID:8/UdoTgk.net]
-ReferenceObject $(if ($_.Group[0].Length -eq 0) {"空ファイル"} else {Get-Content $_.Group[0].Fullname})
とかすればいい-DifferenceObjectも同様に

650 名前:デフォルトの名無しさん [2018/03/30(金) 00:55:45.74 ID:1oIUHR4g.net]
>>622
おお!なんか求めてるものができました
ありがとうございます

651 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 12:24:41.58 ID:87KFZNYL.net]
PSVersion 2.0 って、古いな

漏れは、Windows10 で、5.1

652 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 12:46:33.65 ID:MnRWcQoL.net]
>>624
> PSVersion 2.0 って、古いな
Windows 7 の標準装備だから会社によっては今でもその縛りがあるところは珍しくない

653 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 13:31:52.36 ID:CA1T1+Qn.net]
むしろwin10なのに5.1は古い
6.01入れちまえ

654 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 15:57:34.95 ID:BIk3pBCX.net]
標準で入ってるから使うんであって
わざわざ入れるなんて許されない
それがPowershellの掟



655 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 16:03:03.73 ID:GA8gSqY/.net]
常時最新版は入れるけど開発は2.0で

656 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 23:23:41.80 ID:v3STFQKk.net]
個人で使う分にはいいんだろうけどね

657 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 09:12:34.80 ID:9aphfiP0.net]
2.0でも問題ないように勉強しつつ、案件が始まったら最新版のインストールを駄目元でお願いする感じ

658 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 09:41:50.71 ID:PackIPAm.net]
いつの間にか6.0.2がリリースされてた

https://github.com/PowerShell/PowerShell/releases/tag/v6.0.2

659 名前:デフォルトの名無しさん [2018/03/31(土) 20:24:07.76 ID:xiXxh7KM.net]
ファイルの最後の文字のみ読み込んで
例えば最後の文字が

〇〇てすと

だったら

てすと

に置換して元から"てすと"だったそのままにしたいんだけどどうすればできますか?
ただし最終行が"てすと"じゃなかった場合は"てすと"を追記したいです
個人的にはループ処理で最終行から読み込んで意図した文字列なら置換って事がやれればいいと思ってます
※バージョンは2.0でお願いします!

660 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 23:42:23.39 ID:ZBdPbw02.net]
Ruby で作った

text = File.read ARGV[0] # 引数はファイル名

ary = []
# 文字列を1行ずつ、配列に入れる
text.each_line{ |line| ary << line }
p ary

# 戻り値は、置換が行われたときはレシーバ自身、置換されなかったときはnil
if ary[-1].sub!(/〇〇てすと$/, 'てすと')
# 処理なし。レシーバ自身を変更する
elsif /てすと$/ !~ ary[-1] # てすと で終わらない
ary[-1] += 'てすと'
else
return
end
p ary[-1]

File.write(ARGV[0], ary.join)

661 名前:デフォルトの名無しさん [2018/03/31(土) 23:55:40.86 ID:jgzyYqDp.net]
>>633
ここPowershellスレなんだが…

662 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 00:05:46.07 ID:QUrQa6Zt.net]
>632をなんとなく作ってみたんですけど、
最後に出力された文字列だけを置換しての部分がうまくいかない
置換自体は出来るんだけどその部分だけ文字列に書き込む方法が分からん。。。

(Get-Content D:\test\a.txt)[(Get-Content D:\test\a.txt).length..0] | Foreach-Object {
if( $_.length ){
if(!($_ -like "*てすと*")){
Add-Content -Path D:\test\a.txt -Value "てすと"
break
}
$_ -replace ".*てすと.*", "てすと"
break}
}

663 名前:633 mailto:sage [2018/04/01(日) 00:36:26.53 ID:ECJY99tL.net]
>その部分だけ、文字列に書き込む方法が分からん
Ruby でも、ファイルを読み書き両用で開くと、
現在のシーク位置を、あれこれ移動しないといけないから、非常にややこしい。
シーク位置を変数に入れておいて、あれこれ考えるのは、ややこしい

だから、テキスト全体を改行区切りの配列に入れて、最後の行だけを変更してから、
全部を書き込む方が簡単

633 では、そうしている

664 名前:デフォルトの名無しさん [2018/04/01(日) 01:17:13.74 ID:XTr+hbom.net]
趣旨に合っているかな?

$list=Get-Content sample.txt
$text="てすと"
foreach($line in $list){
if([string]::IsNullOrEmpty($line)){$line=$text}
$str=$line.Substring($line.length-3)
if($str -eq $text){ $newline=$str}
else{ $newline=$line }
$newline
}



665 名前:637 [2018/04/01(日) 01:18:30.22 ID:XTr+hbom.net]
最後の行についてわすれてた

666 名前:637 [2018/04/01(日) 01:28:26.15 ID:XTr+hbom.net]
再度

$list=Get-Content test.txt
$text="てすと"
foreach($line in $list){
if([string]::IsNullOrEmpty($line)){$line=$text}
$str=$line.Substring($line.length-3)
if($str -eq $text){ $newline=$str}
else{ $newline=$line }
$newline
}
if($str -ne $text){$text}

667 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 01:34:17.86 ID:VsRAmkXY.net]
ぱわーしぇる風にパイプかつメモリ最小で作ってほしーなんつって

668 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 01:37:20.38 ID:VsRAmkXY.net]
つーかバッチファイルスレで似たような質問してたアホだなこいつ

669 名前:637 [2018/04/01(日) 02:13:27.25 ID:XTr+hbom.net]
パイプよりこのほうがずっと高速なもんで

670 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 02:32:32.46 ID:QUrQa6Zt.net]
>>639
いいんだけどこれだと空白行全部"てすと"になっちゃてね?

671 名前:639 [2018/04/01(日) 02:44:04.47 ID:XTr+hbom.net]
そうしてる。
空白行は空白のままでよかったんだ
じゃIFのところだけ書き換え

$list=Get-Content test.txt
$text="てすと"
foreach($line in $list){
if(-NOT [string]::IsNullOrEmpty($line)){
$str=$line.Substring($line.length-3)}
if($str -eq $text){ $newline=$str}
else{ $newline=$line }
$newline
}
if($str -ne $text){$text}

672 名前:デフォルトの名無しさん [2018/04/01(日) 02:46:44.02 ID:XTr+hbom.net]
考えたらこれだと文字数が3文字未満だとエラーになるな
ねむいが・・書き換えてみるかな

673 名前:639 [2018/04/01(日) 02:54:07.64 ID:XTr+hbom.net]
今度はどうだろう

$list=Get-Content test.txt
$text="てすと"
foreach($line in $list){
$newline=$line
if($line.length -gt 2){
$str=$line.Substring($line.length-3)
if($str -eq $text){ $newline=$str}
}
$newline
}
if($str -ne $text){$text}

674 名前:デフォルトの名無しさん [2018/04/01(日) 03:12:47.24 ID:QUrQa6Zt.net]
>>646
最終行だけてすとじゃなくてその上にてすとの文字列が有るとそのあと全部てすとになっちゃうね



675 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 03:38:49.54 ID:IR/E13YL.net]
こんなもんかね
psv2.0に配列のcountあったっけか

$file = "test.txt"
$text = "てすと"
,@(Get-Content $file)|%{
foreach($i in 0..($_.count-1)){
if($i -eq ($_.count-1)){
if($_[$i] -like "*$text"){
$text
}else{
$_[$i];$text
}
}else{
$_[$i]
}
}
}|Out-File $file

676 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 07:43:52.97 ID:dufOVYHg.net]
>>641
あっちは、「最終行」じゃなくて「空行を除く最終行」だったからちょっと面倒だ

677 名前:639 [2018/04/01(日) 07:45:20.17 ID:UUJ9t7Bj.net]
>>647
なんと、寝ぼけてやってちゃだめだな。
あとで見直すわ

678 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 08:53:40.41 ID:P1fWuhY2.net]
PowerShellコード可読性低すぎワロタwww時代はC#ですわ

Add-Type -TypeDefinition @"
using System.IO;
using System.Text.RegularExpressions;
public class Hoge {
private static readonly Regex r = new Regex(@"[^\n]*てすと$", RegexOptions.Compiled | RegexOptions.Singleline | RegexOptions.CultureInvariant);
public static void ReplaceLastTest(FileInfo file) {
string s = File.ReadAllText(file.FullName);
s = r.Replace(s.TrimEnd(), string.Empty) + "てすと";
File.WriteAllText(file.FullName, s);
}
}
"@

[Hoge]::ReplaceLastTest((Get-ChildItem ./test.txt))

679 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 10:49:38.76 ID:IR/E13YL.net]
>>651
PSなら書く必要もないもの多過ぎ
ついでに普通の環境じゃ編集の補助まったくないだろ

680 名前:デフォルトの名無しさん [2018/04/01(日) 11:08:43.29 ID:P1fWuhY2.net]
>>648>>646のほうがよっぽど無駄なコード書いてるじゃんwww
ループインデックスとか久々に見たわwwwwベタループも条件分岐もくっそ読みにくいしwww

編集の補助ってインテリセンスの事ならこの程度のコードに必要ないだろw
つかpowershellerならVSCodeとっくに入っとるやろwww
C#もサポートされとるやんけwwww

681 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 11:37:50.84 ID:QUrQa6Zt.net]
>>648
これだと"てすと"の後に無駄な空行があるとその無駄な空行の後に"てすと"

682 名前:チて出力されちゃうね []
[ここ壊れてます]

683 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 11:44:34.33 ID:XEaAmQBZ.net]
エディタすら選べない様な残念な環境で頑張るのがPSですから
ってのは置いといてadd-typeで強引に解決するのは割と好き

684 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 11:56:29.10 ID:IR/E13YL.net]
>>654
最初の条件では空行を無視するとか書いてないけど



685 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 12:07:38.92 ID:IR/E13YL.net]
>>653
C#の別ファイル書いてadd-typeの中にコピペすんの?
それメンテナンス性最悪だよな

686 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 12:23:46.08 ID:P1fWuhY2.net]
つうかこれでええやんwwww
誰だよC#とか言ったアホwwwww

function Update-LastTest ([IO.FileInfo]$file) {
$s = Get-Content $file | Out-String
$s = ($s.TrimEnd() -replace '[^\n]*てすと$', '') + 'てすと'
$s | Out-File $file
}

Update-LastTest (Get-ChildItem ./test.txt)

687 名前:639 [2018/04/01(日) 12:23:50.08 ID:y3W5ZkrO.net]
何言われようと、めげずに
どうでしゃろ
$list=Get-Content test.txt
$text="てすと"
foreach($line in $list){
$newline=$line
if($line.length -gt 2){
$str=$line.Substring($line.length-3)
if($str -eq $text){ $newline=$str}
else{$newline=$line}
}
$newline
}
if($str -ne $text){$text}

688 名前:639 [2018/04/01(日) 12:29:46.66 ID:y3W5ZkrO.net]
>>658
てすとしてないけど、すばらしそう

689 名前:639 [2018/04/01(日) 12:38:23.68 ID:y3W5ZkrO.net]
>>658
あれ?
要求されてる仕様の理解が私とちがうな
どっちだろう?

690 名前:639 [2018/04/01(日) 12:42:58.03 ID:y3W5ZkrO.net]
ABCDてすと => てすと
XYX123 => XYX123
てすとのてすと => てすと
てすとのabc => てすとのabc

みたいな要望じゃないかな?

691 名前:デフォルトの名無しさん [2018/04/01(日) 12:54:30.97 ID:GlQ4Mmqm.net]
2回実行したら全部の行がてすとになって区別付かなくなるけどそれでいい?

692 名前:デフォルトの名無しさん [2018/04/01(日) 12:56:34.68 ID:QUrQa6Zt.net]
>>662
>>632の質問投げた本人ですけど最後はてすとでいいです
つまり
ABCDてすと => てすと
XYX123 => XYX123
てすとのてすと => てすと
てすとのabc => てすと
空行 => なにもしない

693 名前:デフォルトの名無しさん [2018/04/01(日) 12:59:57.46 ID:QUrQa6Zt.net]
>>664に追記すると最後"だけ"を置換したいんです
途中に"〇〇てすと〇〇"
みたいな感じでてすとってワードが含まれていてもそれは無視したいんです

694 名前:639 [2018/04/01(日) 13:00:29.09 ID:y3W5ZkrO.net]
確認ですが

てすとのabc => てすと  

これあってます?
これだと単に文字列 "てすと" が含まれていたら "てすと" と
出力するように思うんですが。



695 名前:デフォルトの名無しさん [2018/04/01(日) 13:02:37.55 ID:QUrQa6Zt.net]
>>666
はいそれで良いです

696 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 13:03:50.82 ID:XEaAmQBZ.net]
ごめん分かんなくなってきた

697 名前:デフォルトの名無しさん [2018/04/01(日) 13:13:00.52 ID:QUrQa6Zt.net]
>>632
ごめんこれ質問が悪かったです
最終行が"てすと"ならじゃなくて最後の空行じゃ無い文字列に"てすと"が含まれていなかったら"てすと"を追記したい
が正しい

698 名前:デフォルトの名無しさん [2018/04/01(日) 13:15:43.22 ID:GlQ4Mmqm.net]
だめだこりゃ

699 名前:639 [2018/04/01(日) 13:29:09.09 ID:y3W5ZkrO.net]
これはどうでしょう。
行に"てすと"という文字列が含まれていたら"てすと"だけを出力
含まれていなければ、そのまま出力
最後の行に"てすと"が含まれていなければ、その行はその出力し
つぎの行に"てすと"を追加
結果は$newlistに出力

function newfile{
param($text="てすと")
process{
if($_.ToString().Contains($text)){$newline=$text}
else{$newline=$_}
$newline
}
end{ if( -NOT $newline.Contains($text)){$text} }
}

$list=Get-Content ファイル指定
$newlist=$list|newfile

700 名前:639 [2018/04/01(日) 13:30:56.72 ID:y3W5ZkrO.net]
さいごに空の行もあり得るわけだ。<=これは入れていない
とするとそのはんていを1行追加するようだな。

701 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 13:54:17.68 ID:Huwl0iS3.net]
これだから日本語の仕様書は役に立たないって言われるんだな
テストケースを10個ぐらい書いてくれないと伝わらないパターンだ
コーディングはそれから始めても遅くない

702 名前:639 [2018/04/01(日) 14:11:02.57 ID:y3W5ZkrO.net]
最後の空白行orNull行の判定もいれてみたんだけど

function newfile{
param($text="てすと")
process{
if($_.ToString().Contains($text)){$newline=$text}
else{$newline=$_}
$newline
}
#end{ if( -NOT $newline.Contains($text)){$text} }
end{ if(-NOT($newline.Contains($text) -or [string]::IsNullOrWhiteSpace($newline)) ){$text}}
}
$list=Get-Content 入力ファイル
$newlist=$list|newfile

703 名前:639 [2018/04/01(日) 14:12:35.94 ID:y3W5ZkrO.net]
あってるかな?
あとは >>658 の方が綺麗なのを書いてくれることを期待。

704 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 14:20:36.23 ]
[ここ壊れてます]



705 名前: ID:IR/E13YL.net mailto: >>674
空行は置いといて、最終行以外のとこに”てすと”が入ってても書き換わってしまうが
ただそれが望んだ動作かもしれん
もう分からんw
[]
[ここ壊れてます]

706 名前:639 [2018/04/01(日) 14:51:08.96 ID:y3W5ZkrO.net]
>>676
"てすと"という文字列を含む行は、"てすと"という文字列に置き換える
そうですよ。

707 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 15:08:33.93 ID:IR/E13YL.net]
>>677
>>665と矛盾してると思うが
"最後だけを置き換えたい" で行の最後か文章の最後か分からんが、
てすとのabc => てすと  
がOKなら行の最後じゃない、なら文章の最後だけって事じゃね?
なんか論理パズルやってる気になってきたなw

708 名前:デフォルトの名無しさん [2018/04/01(日) 15:17:38.93 ID:D0kqpvo1.net]
>>676
最後に出てくる"てすと"以外は"てすと"があっても置き変えたくないです
あくまで最後だけ置き換えてください
>>677
置き換えないでそのままでいいです

709 名前:デフォルトの名無しさん [2018/04/01(日) 15:19:24.07 ID:D0kqpvo1.net]
>>677
あー間違えた最後に出てくる"てすと"以外は"そのまま"でいいです

710 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 15:23:08.10 ID:IR/E13YL.net]
>>679
あ、来た
それと最後の空行はどうなの?
@"
aaa
bbbてすと

"@
が元ソースだとして

@"
aaa
てすと

"@

@"
aaa
bbbてすと

てすと
"@

@"
aaa
てすと
"@
の3パターンあるが、どれ?

711 名前:デフォルトの名無しさん [2018/04/01(日) 15:31:18.80 ID:D0kqpvo1.net]
>>681
一番最初がいいですね


@"
aaa
てすと

"@

712 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 15:39:31.01 ID:IR/E13YL.net]
>>682
OK,やっと仕様が決まったね
めでたい

713 名前:639 [2018/04/01(日) 15:39:47.10 ID:y3W5ZkrO.net]
>>679
最後に出てくる"てすと"という意味ですが、したのようなとき
"てすと"を含む最後の行は5行目という意味ですか?

1行目 abmてすとxyz
2行目 1239xxxx
3行目 yyyyyてすと
4行目 xxxxyyてすとyy
5行目 てすとuuuu   <== "てすと"を含む最後の行
6行目 zzyyvv
7行目 練習123

714 名前:デフォルトの名無しさん [2018/04/01(日) 15:47:44.82 ID:D0kqpvo1.net]
>>684
その場合だと7行目を判断して"てすと"以外の文字列なので"てすと"を追記してください。



715 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 15:51:05.88 ID:IR/E13YL.net]
>>684
君も読解力に問題あるぞw
途中の行は無視でしょ、「"てすと"を含む最後の行」なんて君しか言ってない
5行目はそのままで、8行目に"てすと"が加わるんでしょ

716 名前:639 [2018/04/01(日) 15:52:48.10 ID:y3W5ZkrO.net]
>>685
追記とは
8行目に"てすと"という文字列の1行ができるでよろしいですか?

717 名前:デフォルトの名無しさん [2018/04/01(日) 15:53:31.12 ID:D0kqpvo1.net]
>>687
はいその認識で間違いありません

718 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 16:00:22.19 ID:mWcRMyuA.net]
はっきり言って>>665が非常に分かりづらい
"最後"って表現は何とかしてくれ

719 名前:デフォルトの名無しさん [2018/04/01(日) 16:05:52.05 ID:QUrQa6Zt.net]
>>689
語彙が足らなくてごめんなさい。
最後っていうのをなんて伝えていいのかよくわからなかった
最終行っていうのも違うし、最後の文字列が入ってる行って言えばよかったんかな…

720 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 16:08:07.63 ID:mWcRMyuA.net]
>>690
>>649の表記はどう?

721 名前:デフォルトの名無しさん [2018/04/01(日) 16:11:53.66 ID:QUrQa6Zt.net]
>>691
空行っていうのもなんか曖昧というか例えばスペース一個あって改行したらそれも空行だし

722 名前:639 [2018/04/01(日) 16:21:25.05 ID:y3W5ZkrO.net]
>>692
それははっきりした方がいいと思うよ。
一番最後の行が、スペースとしたとき
スペースとは、空白文字がありうるのか、nullなのかなど。

723 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 20:51:38.49 ID:ih9TVGcf.net]
>>688
ところであっちのスレと同一人物?
BATでも解決してたはずだけど、なんでまた同じ質問をこっちに?

724 名前:デフォルトの名無しさん mailto:sage [2018/04/02(月) 01:08:53.03 ID:4AdYvMWY.net]
仕様があいまい

最後と言う言葉があいまい。
全体の文章の最後なのか、最終行を指すのか、どちらか分からないから

最終行だけがチェック対象なのか?
それとも、最終行以外も対象になるのか?



725 名前:デフォルトの名無しさん mailto:sage [2018/04/02(月) 01:16:27.17 ID:4AdYvMWY.net]
>>632
>最終行が"てすと"じゃなかった場合は、"てすと"を追記したいです

これも、最終行が改行で終わっている場合と、終わっていない場合で、動作が変わる

abc\n → abc\nテスト
abc → abcテスト

上は、最終行の次の行に追加されるけど、
下は、最終行に追加される

726 名前:デフォルトの名無しさん [2018/04/02(月) 10:47:05.22 ID:qOetNhN3.net]
$path = "Documents\hoge.txt"
$text = "てすと"
$file = @(Get-Content $path)

for($i = $file.count; $i -ge 0; $i--)
{
if($file[$i] -match "^\s*$")
{
continue
}

if($file[$i] -match ".*$($text).*")
{
$file[$i] = $text
} else {
$file[$i] += "`n" + $text
}

break
}

$file | Out-File $path

Powershell勉強中なんだけどこんな感じ?

727 名前:デフォルトの名無しさん mailto:sage [2018/04/02(月) 11:17:36.79 ID:hxQiBYMY.net]
正直今のところ頂いた回答の中では>>658さんの回答が模範解答でした。

728 名前:デフォルトの名無しさん mailto:sage [2018/04/02(月) 11:22:46.38 ID:hxQiBYMY.net]
>>697いいですね!!!

729 名前:デフォルトの名無しさん mailto:sage [2018/04/02(月) 11:50:24.39 ID:M5QFId2x.net]
>>698
良いんだけど、>>658>>681で言う三番目で、希望は一番目らしいから、あと一工夫だね
正直もう飽きたから他の人がんばって

730 名前:デフォルトの名無しさん mailto:sage [2018/04/02(月) 11:56:01.83 ID:M5QFId2x.net]
>>697でいいやん
自分の趣味じゃないから読みにくいけど、条件は満たしてる

731 名前:デフォルトの名無しさん mailto:sage [2018/04/06(金) 06:46:32.07 ID:lsq7GlrL.net]
PSはマルチスレッド気軽に使えないの?
ググるとリモート、マルチプロセスとRunspaceのサンプルばっかり出てくるんだが
2.0だとTaskも無いからキビシイのかね

732 名前:デフォルトの名無しさん [2018/04/06(金) 09:32:58.70 ID:j6pN+emA.net]
>>702
つかえるんじゃない?
どんな処理をしたいということなの。

733 名前:デフォルトの名無しさん mailto:sage [2018/04/07(土) 08:02:18.06 ID:qEuioEYI.net]
いやーなんかねHttpListenerのBeginGetContextでクラッシュするんです
マルチスレッド対応してないのかなと

734 名前:デフォルトの名無しさん [2018/04/07(土) 17:09:59.62 ID:q5Iu4RDV.net]
マルチスレッドというより(マルチスレッドだけど)
それが非同期に対応しているかという話ね。



735 名前:デフォルトの名無しさん mailto:sage [2018/04/07(土) 21:26:24.68 ID:qEuioEYI.net]
原因わかった
別スレッドだとrunspaceが無いからpowershellコードが動かんのだとさ

736 名前:デフォルトの名無しさん [2018/04/07(土) 21:35:48.91 ID:aBoyVqLJ.net]
こんな記事あるけど使える?
RunspacePoolを使って、PowerShellを非同期実行
https://www.gmo.jp/report/single/?art_id=195

737 名前:デフォルトの名無しさん mailto:sage [2018/04/07(土) 23:31:41.22 ID:qEuioEYI.net]
>>707
今日はそれを調べてた
GetContext使ってメインスレッドで同期的にコンテキストを受けて
ルーティング処理〜レスポンス閉じるまでをrunspaceでOneWay非同期処理するといい感じで動作してるっぽい

738 名前:デフォルトの名無しさん mailto:sage [2018/04/22(日) 08:09:34.07 ID:kKNIjb5q.net]
>>279
こいつアホすぎてムカつく
わからんなら黙ってろかす!

739 名前:デフォルトの名無しさん mailto:sage [2018/04/22(日) 10:30:51.82 ID:H/AU6k7y.net]
どんだけロングパスなんだよ w

740 名前:デフォルトの名無しさん mailto:sage [2018/04/22(日) 16:41:59.07 ID:T8IjF/fs.net]
TrustedInstallerのままなのはOS不具合かな
最近こういうの放置でアップグレードしてくから困る

741 名前:デフォルトの名無しさん mailto:sage [2018/04/27(金) 00:02:08.86 ID:H5AR7ZMg.net]
聞いてくれやおじさん
UIautomationとやらを探して2日たらし回しにされた
psのgui自動化ツールはこれでええのか

742 名前:デフォルトの名無しさん mailto:sage [2018/05/03(木) 08:13:52.50 ID:Fo+ItQuC.net]
確かに探すの難しくなってるな

UI Automation PowerShell ExtensionsのDownload(再配布)
ttps://www.code-lab.net/?p

743 名前:age_id=21648 []
[ここ壊れてます]

744 名前:デフォルトの名無しさん mailto:sage [2018/05/03(木) 21:30:36.66 ID:nUgTWhrN.net]
更新されてないってことは失敗なのか



745 名前:デフォルトの名無しさん [2018/05/05(土) 08:53:20.47 ID:GHjIUW8T.net]
UIautomationって旧来技術ってことでWin10では
あらたなことは行わないんじゃないのかな。
たしかGUIがWPFだよね。

746 名前:デフォルトの名無しさん mailto:sage [2018/05/09(水) 04:43:48.03 ID:EuvUccmD.net]
ISE
VSCode
Visual Studio 2017
でPowerShell開発やってみたけど一番快適にDebugできるのはVSCodeだった

747 名前:デフォルトの名無しさん [2018/05/10(木) 12:17:12.51 ID:p0Nf4Eeh.net]
実行ポリシーを変更をBypassに変更してるんだが
.ps1ファイルを実行しようとすると1日1回くらい(その日の最初?)は以下の文章が出る
出なくする方法ありますか?

実行ポリシーの変更
実行ポリシーは、信頼されていないスクリプトからの保護に役立ちます。実行ポリシーを変更すると、about_Execution_Policies
のヘルプ トピック (https://go.microsoft.com/fwlink/?LinkID=135170)
で説明されているセキュリティ上の危険にさらされる可能性があります。実行ポリシーを変更しますか?
[Y] はい(Y) [A] すべて続行(A) [N] いいえ(N) [L] すべて無視(L) [S] 中断(S) [?] ヘルプ (既定値は "N"):

ちなみにGet-ExecutionPolicyすると
ちゃんとBypassと表示される

748 名前:デフォルトの名無しさん mailto:sage [2018/05/10(木) 21:32:31.45 ID:RfBSBg1R.net]
コンテキストメニューから実行してるなら、関連付け設定が
"C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" "-Command" "if((Get-ExecutionPolicy ) -ne 'AllSigned') { Set-ExecutionPolicy -Scope Process Bypass }; & '%1'"
になってるから、Set-ExecutionPolicy -Scope Process Bypass を実行するところでそれが出るんだと思う
関連付け設定を変えれば出てこなくなるよ

749 名前:デフォルトの名無しさん mailto:sage [2018/05/10(木) 22:47:10.05 ID:p0Nf4Eeh.net]
ありがとう
"C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" "%1"に変えてみた
ついでにダブルクリックだけで実行できるように変えたら便利になった

750 名前:デフォルトの名無しさん mailto:sage [2018/05/23(水) 08:17:44.44 ID:fJ1IdiGY.net]
csvの中に時間とデータの2列あって、それの直線近似した切片を取りたいんだけどアルゴリズム組まないとだめ?
なおエクセルは入ってないパソコンで使いたい。

751 名前:デフォルトの名無しさん [2018/05/23(水) 12:32:03.51 ID:p1Tm41m3.net]
pythonでpandas+leastsquare

752 名前:デフォルトの名無しさん mailto:sage [2018/05/23(水) 16:20:34.21 ID:xYq3JC1R.net]
>>720
単に公式に当てはめればいい

$data = import-csv "csvのパス" -Header X,Y

$meanX = $data.X | measure -Average | select -expand Average
$meanY = $data.Y | measure -Average | select -expand Average

$sd = $data | foreach { ($_.X - $meanX) * ($_.X - $meanX) } | measure -Average | select -expand Average
$cd = $data | foreach { ($_.X - $meanX) * ($_.Y - $meanY) } | measure -Average | select -expand Average
$slope = $cd / $sd

$meanY - $slope * $meanX

753 名前:デフォルトの名無しさん mailto:sage [2018/05/23(水) 17:50:18.83 ID:nRn5Zijg.net]
>>720
Accord.Net使えばいいよ
それか今ならML.NETが良いのかね?

754 名前:デフォルトの名無しさん mailto:sage [2018/05/23(水) 18:35:19.02 ID:V6P0Rj+x.net]
>>722
ありがとうございます。簡潔に書かれていてすごい。

>>721
pythonでも出来るのですが、エクセル含めソフトインストールできないPCでの運用なので



755 名前:デフォルトの名無しさん mailto:sage [2018/05/23(水) 19:04:26.17 ID:zdZwe3wq.net]
そんな環境でなぜ線形回帰分析を?

756 名前:デフォルトの名無しさん mailto:sage [2018/05/23(水) 19:19:58.76 ID:PUSKgIep.net]
エクセルも使えない環境で

757 名前:データ分析なんて
とんでもなく非効率だな
現実にはよくありそうな話だけど
[]
[ここ壊れてます]

758 名前:デフォルトの名無しさん [2018/05/23(水) 19:26:40.12 ID:Au5e7VGg.net]
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

GWRI8

759 名前:デフォルトの名無しさん mailto:sage [2018/05/24(木) 07:56:41.44 ID:zQgi4Vqc.net]
>>726
装置とそれを制御するソフトウェアが入った専用PCが連動して動く仕組みのシステムで、そのPCのデータをその中で処理したいと思ってて。
大型の装置で、もし誤作動を起こしたら火災や死亡事故もあり得るのでソフト導入は難しい状況。エクセルくらいは問題ないと思うんだけど、許可下りず。

760 名前:デフォルトの名無しさん [2018/05/24(木) 09:57:30.14 ID:fftgGS82.net]
人命にかかわるならPowerShellでもだめだろ

761 名前:デフォルトの名無しさん mailto:sage [2018/05/24(木) 12:22:12.99 ID:6ROz+TzN.net]
線形回帰分析のためだけにエクセルを導入しようとする高レベルVBAエンジニアさん命を握られてしまった従業員さん

762 名前:デフォルトの名無しさん mailto:sage [2018/05/24(木) 13:10:55.11 ID:dChwsR57.net]
>>730
日本語で

763 名前:デフォルトの名無しさん mailto:sage [2018/05/24(木) 18:11:34.30 ID:CzEEKu6Z.net]
今回だけじゃなくて別のデータ分析する
機会も出てくるかもしれないだろ

エクセルに限らずソフトがインストールできないんじゃ
いろいろ車輪の再発明することになりそう

764 名前:デフォルトの名無しさん mailto:sage [2018/05/24(木) 18:17:30.66 ID:5HLXkVSJ.net]
そういう機会がなんども出てきてから検討すればいいよ
まあそうなったらエクセルじゃなくてデータ解析に適したツールを導入するべきだろうけどね
VBAerさんはとにかくVBAを使いたいって目的が先行するから困る



765 名前:デフォルトの名無しさん mailto:sage [2018/05/24(木) 18:47:46.05 ID:5HLXkVSJ.net]
なんでもかんでも再発明が悪という風潮はよろしくない
少量の些細な再発明を避けるために大規模なソリューションを導入すると
そのソリューションの管理コストや障害リスクの方が高くなってしまう

766 名前:デフォルトの名無しさん mailto:sage [2018/05/24(木) 18:52:23.87 ID:YkaVpFZu.net]
なんで制御PCと同じのでやろうとしてるのか?

そもそもwi

767 名前:デフォルトの名無しさん mailto:sage [2018/05/24(木) 19:37:16.12 ID:8RmhyhjF.net]
そういう設定なんだなというのは皆わかった上でディスカッションしてる
なので野暮なツッコミは無しにしようや

768 名前:デフォルトの名無しさん mailto:sage [2018/05/24(木) 19:58:22.10 ID:HJmOkmLD.net]
勉強とは再発明することだと思うんがなあ

769 名前:デフォルトの名無しさん mailto:sage [2018/05/24(木) 21:09:40.32 ID:zQgi4Vqc.net]
>>735
今はデータをUSBで他のPCに移してから処理してる。
制御PCでやりたい理由は、USBはパスワード付きっていうのもあって面倒で、しかも常に最新の情報を求められるため日に数回USBで出し入れすることになるのでより面倒。
それが毎日となるとめちゃくちゃ面倒。
ということで不慣れなpowershell でやろうとした次第です。

770 名前:デフォルトの名無しさん mailto:sage [2018/05/24(木) 22:23:06.92 ID:A0AqRoYu.net]
別PCでC#の解析用アセンブリ作ってPowerShellから呼び出したらいいんじゃないの

771 名前:デフォルトの名無しさん mailto:sage [2018/05/24(木) 22:34:04.69 ID:JOD0E1R+.net]
ネットも禁止な所?

772 名前:デフォルトの名無しさん mailto:sage [2018/05/24(木) 22:42:20.58 ID:OVWSg8Eh.net]
オフラインです。C♯は難しそうなので。

すみません、私事を語り過ぎました。元の話題に戻ってどうぞ

773 名前:デフォルトの名無しさん mailto:sage [2018/05/24(木) 22:53:30.12 ID:6yspu/tD.net]
死亡事故が起こるようなマシンだろ
俺なら通常はネットから切り離しとくわ

774 名前:デフォルトの名無しさん mailto:sage [2018/05/25(金) 02:05:25.85 ID:gztHcn54.net]
>>7



775 名前:42
オフラインって書いてますやん
[]
[ここ壊れてます]

776 名前:デフォルトの名無しさん [2018/05/25(金) 03:37:02.75 ID:JRXZZDGl.net]
会話がかみ合ってないな
頭悪そう

777 名前:デフォルトの名無しさん mailto:sage [2018/05/25(金) 03:58:22.29 ID:cDmsKy0H.net]
いや現実の問題設定は良い刺激になったよ
そういうのないと同じ話題がループしちゃうし

778 名前:デフォルトの名無しさん mailto:sage [2018/05/25(金) 06:29:46.18 ID:zDcEhAN3.net]
そのPCで処理しても結局USBで持っていかないと駄目なんじゃ

779 名前:デフォルトの名無しさん mailto:sage [2018/05/26(土) 18:35:06.63 ID:2fyQupuv.net]
AddTypeでNuGet Packageを参照に追加できれば便利だと思うんだがなぜないんだろ
いちいちpackageダウンロードしてzip解答してdll探してAddTypeするの面倒くさい

AddType -PackageSource https://api.nuget.org/v3/index.json -PackageName Oracle.ManagedDataAccess -Version 12.2.1100
$connection = New-Object -TypeName Oracle.ManagedDataAccess.Client.OracleConnection

こんなんできたら絶対便利だろ

780 名前:デフォルトの名無しさん mailto:sage [2018/05/27(日) 01:15:09.38 ID:ek08JVnr.net]
そういうコマンドレットを作ればいいんじゃないの

781 名前:デフォルトの名無しさん mailto:sage [2018/05/27(日) 10:22:45.07 ID:FRc1Igvs.net]
こういうのは末端のユーザーじゃなくMicrosoftが責任持って整備すべき仕事だよなぁ

782 名前:デフォルトの名無しさん mailto:sage [2018/05/27(日) 10:32:40.51 ID:uKjxyzN7.net]
>>747
Visual Studioだと全部やってくれるのにな

783 名前:デフォルトの名無しさん mailto:sage [2018/05/27(日) 10:54:12.69 ID:kiqwqKPT.net]
https://www.powershellgallery.com/items?q=nuget&x=0&y=0
この中にお望みの物ないの?
俺は調べてないけど

784 名前:デフォルトの名無しさん mailto:sage [2018/05/28(月) 20:48:57.60 ID:ANh8mcyB.net]
csv読み込みのときに、♯が入ってる行が消えるのですが回避方法あるでしょうか?
バージョンは2のため、cat|convertfrom- csv を使っています。



785 名前:デフォルトの名無しさん mailto:sage [2018/05/29(火) 10:01:43.76 ID:JWI1PS/k.net]
cat|♯を消す処理|convertfrom- csv

786 名前:デフォルトの名無しさん mailto:sage [2018/05/29(火) 13:59:12.26 ID:/wWb7+KW.net]
半角井桁でも全角井桁でもなくシャープがダメ文字ってことなら、いわゆる機種依存文字に対して内部的に文字化けしてるのかね
Get-Contentの-Encodingパラメーターを変えて試行錯誤してみるのはどうだろ

787 名前:デフォルトの名無しさん mailto:sage [2018/05/29(火) 20:04:16.63 ID:uVfBdj0+.net]
>>753
おっしゃる通りcat時点ではシャープのある行も問題なく表示されていたのでそこでシャープを適当な文字列に置換する事で回避出来ました。
なお文字化け等では無かったためencodingは関係ありませんでしたが、お二方ともアドバイスしていただきありがとうございました。

788 名前:デフォルトの名無しさん mailto:sage [2018/05/29(火) 21:24:14.97 ID:NIS7bYGB.net]
csvでシャープで始まる行はコメントとみなされる

789 名前:デフォルトの名無しさん mailto:sage [2018/05/29(火) 21:48:09.49 ID:JDVJC7kx.net]
C#をAddTypeする#だけに

790 名前:デフォルトの名無しさん mailto:sage [2018/05/29(火) 22:37:29.79 ID:DjF05HP4.net]
>>756
そんな仕様初めて聞いた
Excelは#で始まる行も読み込むよ

791 名前:デフォルトの名無しさん mailto:sage [2018/05/29(火) 23:17:16.03 ID:uVfBdj0+.net]
>>756
そういう仕様なんだね。
プログラム内じゃないんだから勝手にコメントアウトしないで欲しい

792 名前:デフォルトの名無しさん mailto:sage [2018/05/30(水) 01:59:47.06 ID:yjZg0US2.net]
RFCではCSVのコメントなんて定義されてないんだがな
#がコメントとか方言です

793 名前:デフォルトの名無しさん mailto:sage [2018/05/30(水) 07:47:42.04 ID:fRdW4Y4e.net]
「♯を含む行」が消えるって言ってるんだから、実は「#で始まる行」が消えてた、なんてことは流石にないでしょう

794 名前:デフォルトの名無しさん mailto:sage [2018/05/30(水) 08:14:02.91 ID:fRdW4Y4e.net]
と思って検証したらマジじゃねーかバーロー
v2では使えないけどcat -raw|convertfrom-csvなら無視されな



795 名前:ュなるから、#がCSVコメントとして無視されてるのではなくて、#をコメント行相当のオブジェクトとして返しているGet-Content側がタチ悪いという話じゃないだろうか []
[ここ壊れてます]

796 名前:デフォルトの名無しさん mailto:sage [2018/05/30(水) 10:30:58.30 ID:962OkqnQ.net]
" で囲んだら大丈夫とか?

797 名前:デフォルトの名無しさん mailto:sage [2018/05/30(水) 22:12:34.15 ID:8qi2Khqy.net]
PCに入ってるPowerShellのバージョンを簡単に切り替える方法はないのでしょうか?
作成したスクリプトがバージョン2でも3でも動くか等の検証を行いたいのですが?

798 名前:デフォルトの名無しさん mailto:sage [2018/05/30(水) 22:36:17.40 ID:JXGp/YkD.net]
旧バージョン互換で動かすオプションあった気がする

799 名前:デフォルトの名無しさん [2018/05/31(木) 17:20:46.88 ID:ZTEAvdsG.net]
そのCSV は各列を、" " で囲んでないのか?

800 名前:デフォルトの名無しさん mailto:sage [2018/05/31(木) 21:31:21.76 ID:3wC9yI4G.net]
Windows PowerShell 2.0 エンジンの開始
https://docs.microsoft.com/ja-jp/powershell/scripting/setup/starting-the-windows-powershell-2.0-engine

801 名前:デフォルトの名無しさん mailto:sage [2018/06/01(金) 19:12:06.06 ID:j/MM0qyt.net]
ISEがインテリセンス使ったら落ちてたのが
KB4100403で修正されたらしい(未確認)

802 名前:デフォルトの名無しさん mailto:sage [2018/06/04(月) 18:18:51.32 ID:duSCMV5/.net]
エクセルに書き込む時、例えば
for(i=1; -le 1000;i++){
sheet.cells.item(i,1)=i*5

こんな感じにすると非常に動作が遅いのですがもっと高速にする方法はあるでしょうか。
なおvbaでは、
for i=1 to 1000
arr(i,1)=i*5
next
と配列に入れておいてから、
oSheet.Range(oSheet.Cells(1, 1), oSheet.Cells(UBound(arr, 1), UBound(arr, 2))) = arr
と一括で書き込むと速いのですが、PSでもこのような書き方はあるでしょうか。

803 名前:デフォルトの名無しさん mailto:sage [2018/06/04(月) 19:50:56.49 ID:gQR1ea5z.net]
>>769
速いかは知らんけどそれと同じようにするならこんな感じかね

$n = 1000
$arr = New-Object "object[,]" $n,1
1..$n | foreach { $arr[($_-1),0] = [int]$_*5 }
$sheet.Range($sheet.Cells.Item(1, 1), $sheet.Cells.Item($n, 1)) = $arr

804 名前:デフォルトの名無しさん mailto:sage [2018/06/04(月) 23:24:00.90 ID:OF0qTMZ9.net]
>>770
ありがとうございます。多次元配列を使えばよいのですね。
webで調べると多次元配列と多段階配列(ジャグ配列)がごっちゃになってるサイトもあって混乱していましたが、770さんの簡潔な記述をみて理解出来ました。



805 名前:デフォルトの名無しさん mailto:sage [2018/06/06(水) 23:07:10.85 ID:N8yiaTQz.net]
gradle的なタスクランナーDSLは無いの?

806 名前:デフォルトの名無しさん mailto:sage [2018/06/09(土) 16:51:36.72 ID:XSSJlv/Q.net]
PowershellからExcelのユーザフォーム(コマンドボタン)を非表示かクリックできないようにしたいのですが、いくつか試してもうまく設定できませんでした。

ご存知の方がいたら、ご教示いただければ。

807 名前:デフォルトの名無しさん mailto:sage [2018/06/09(土) 17:03:33.87 ID:Tjb3C0On.net]
試したコードを晒せば修正してあげるよ^^

808 名前:デフォルトの名無しさん mailto:sage [2018/06/09(土) 18:02:05.59 ID:54mp5fzV.net]
>>773
別のインスタンスからフォームを操作するってこと?
参考にVBAだとどうやるの?

809 名前:773 [2018/06/11(月) 12:16:46.97 ID:vpJG/a5Y.net]
以下で動くことは確認しましたが、できたらPowershellだけで完結したいです。

$excel = New-Object -ComObject Excel.Application;
$book = $excel.Workbooks.Open('〜ファイル名〜');
$num1 = $excel.Worksheets.count ;
$array = @() ;
for ( $i1 = 1 ; $i1 -le $num1 ; $i1++ ){ ;
if ( $excel.Worksheets.Item($i1).name.substring( 0, 4 ) -eq 'xxx_' ) { ;
$array += $excel.Worksheets.Item($i1).name ;
} ;
} ;
for( $i2=0; $i2 -lt $array.count; $i2++){ ;
$shtname = $array[$array.count-$i2-1] ;
$MDB_index = $excel.Worksheets.Item('MDB').index ;
$excel.Worksheets.Item($shtname).move( $excel.Worksheets.Item( $MDB_index ) ) ;
$excel.Worksheets.Item('MDB').move( $excel.Worksheets.Item( $shtname ) ) ;
$excel.Worksheets.Item($shtname).name = 'yy_' + $shtname.substring( 4, $shtname.length - 4 ) ;
} ;
$excel.run("Unable")

810 名前:773 [2018/06/11(月) 12:17:21.17 ID:vpJG/a5Y.net]
* VBAのUnableの中身 ;
Sub Unable()
Dim SHTNAME As String
Dim NUMBER As Integer
Dim I1 As Integer

NUMBER = ThisWorkbook.Worksheets.Count
For I1 = 1 To NUMBER
SHTNAME = ThisWorkbook.Worksheets(I1).Name
If Mid(SHTNAME, 1, 3) = "yy_" Then
ThisWorkbook.Worksheets(I1).CBT1.Enabled = False
End If
Next
End Sub

811 名前:デフォルトの名無しさん mailto:sage [2018/06/11(月) 23:51:03.62 ID:gcU8d3qp.net]
>>776
xxx_のシートをMDBの後ろに並べたいってことでいいんかね?

$book.Sheets[$book.Sheets.Count..1] | where { $_.name -like "xxx_*" } | foreach {
$_.move([Reflection.Missing]::Value, $book.Sheets("MDB"))
$_.name = $_.name -replace "^xxx_","yy_"
$_.OLEObjects("CBT1").Enabled = $false
}

812 名前:773 [2018/06/12(火) 12:30:53.64 ID:ekyc4Iri.net]
>>778
VBAに依存せず実行できました。感謝。

813 名前:デフォルトの名無しさん mailto:sage [2018/06/21(木) 19:07:26.37 ID:K/kbKit1.net]
windows10ですが
Get-ItemPropertyでLastWriteTimeを見てみると
エクスプローラで表示される更新日時と異なるファイルが有りました

更新日時の方が作成日時より前の日付になってるので
おそらく LastWriteTimeの方が正しい日付だと思います

これを訂正するためにPSからエクスプローラの更新日付を取得したいのですが
エクスプローラの更新日時がどこから来ているものかさっぱりわかりません

814 名前:デフォルトの名無しさん mailto:sage [2018/06/21(木) 19:25:07.20 ID:UNnnYLs6.net]
Utc?



815 名前:780 mailto:sage [2018/06/21(木) 20:21:17.18 ID:K/kbKit1.net]
いくつかファイルを調べてみると、更新日時とLastWriteTimeの差が一週間離れているのも有るので
タイムゾーンの問題とは考えにくいです
よく見ると、作成日時もCreationTimeと10日くらいのずれが有りましたw

エクスプローラが詳細プロパティ以外の日付を参照してる意味が分かりません
windowsの強制メジャーアップデートで何度かクラッシュした影響でファイルが壊れてるのかも

816 名前:デフォルトの名無しさん mailto:sage [2018/06/23(土) 00:44:45.99 ID:Ut6U9K8s.net]
代替データストリームじゃね?

817 名前:デフォルトの名無しさん [2018/07/04(水) 22:21:13.01 ID:gFgZc5FG.net]
JBF

818 名前:デフォルトの名無しさん mailto:sage [2018/07/04(水) 23:23:31.98 ID:acN7B5+I.net]
なんでこんなに過疎ってるんですか

819 名前:デフォルトの名無しさん mailto:sage [2018/07/05(木) 22:43:24.58 ID:KzEq2oHL.net]
「書き込みがあったら反応しよう」と思ってる人がたくさんいるからかな?

820 名前:デフォルトの名無しさん mailto:sage [2018/07/08(日) 03:18:34.99 ID:3ZrH1Hyw.net]
わしはね、ローカルの小物guiでps始めよう思ってたらhtaというものを発見してしまったんじゃ

821 名前:デフォルトの名無しさん mailto:sage [2018/07/08(日) 04:04:12.13 ID:UfjkVwX1.net]
失われた古代技術

822 名前:デフォルトの名無しさん mailto:sage [2018/07/14(土) 21:56:02.39 ID:RVDUVOmY.net]
若者が「HTAって使えるんじゃね?」と思ってしまうのは仕方がない。
オッサン〜ジジイが「HTAを発見した」つったら「今まで何して生きてきたの?」としか言いようがない。

Windowsでのローカルの小物GUIは、今、滅亡の危機ですらある。
WordやExcelを使った自動化すら、今後もできるかどうか怪しい。

823 名前:デフォルトの名無しさん mailto:sage [2018/07/14(土) 22:29:26.95 ID:Lxo ]
[ここ壊れてます]

824 名前:RiW+E.net mailto: HTA軽くていいよね機能追加も楽だし
ランチャーにしてる
[]
[ここ壊れてます]



825 名前:デフォルトの名無しさん mailto:sage [2018/07/14(土) 22:38:50.55 ID:utl6Xayz.net]
ローカルの小物GUIってなんだよ

826 名前:デフォルトの名無しさん mailto:sage [2018/07/14(土) 22:50:10.64 ID:P6K2NPR4.net]
GUI付のしょうもないアプリ

827 名前:デフォルトの名無しさん mailto:sage [2018/07/14(土) 23:12:51.46 ID:RVDUVOmY.net]
ローカル実行できるスクリプトで動くGUIアプリに決まってるだろ。
Excel や Access の VBA がその代表格。
COM がベースだから切られる方向なのは分かる。
でも代替できるものがない。

いっとき PowerShell+WPF が期待を担ったが…
・呼ばれる側のアプリにコマンドレットの実装が必要
・.NET ごとオープンソースの世界に行ってしまって Windows そのものが切られそう
・そういうのは C# で書いて配れ、と明示的に言ってくれた方がまだ楽。

が、MS はダンマリを決め込んでいるんだよなぁ…

828 名前:デフォルトの名無しさん mailto:sage [2018/07/15(日) 00:32:04.05 ID:X2092vNg.net]
>>791
なんなんでしょうね

829 名前:デフォルトの名無しさん mailto:sage [2018/07/15(日) 01:35:23.34 ID:0pMWk4zA.net]
>>793
>COM がベースだから切られる方向なのは分かる。
>でも代替できるものがない。

よく調べてないんだけどVisual Studio Tools for Officeとかはダメ?

830 名前:デフォルトの名無しさん mailto:sage [2018/07/15(日) 01:35:37.01 ID:SEkGxxwq.net]
powershell入ってないXP以下で使えるんすよ
判ってくださいよ

831 名前:デフォルトの名無しさん mailto:sage [2018/07/16(月) 21:11:22.99 ID:HqjsUdw9.net]
とりあえず、PowerShellが「最強CUI」とかいう寝言は取り下げた方がいい。誤解を招く。

832 名前:デフォルトの名無しさん mailto:sage [2018/07/16(月) 21:19:57.77 ID:Qq5myI16.net]
はいはい、しゅごいでちゅねー

833 名前:デフォルトの名無しさん mailto:sage [2018/07/16(月) 21:42:32.84 ID:h7LXYR/p.net]
最強だが。
ただ使っている人は少ない。

834 名前:デフォルトの名無しさん mailto:sage [2018/07/16(月) 21:51:20.37 ID:XBIjWYki.net]
>>797
誤解してるのはお前だけだからお前がどっかに行けば解決



835 名前:デフォルトの名無しさん mailto:sage [2018/07/17(火) 23:10:59.27 ID:yoTx9oxy.net]
>>798-800
管理目的なら最強だろう。確かに。
が、それ以外の目的にはおおよそ優しくない。てゆーか元の開発陣がそう言ってる(管理目的、API指向)。
OSSになったから 6以降も(3でもやったけど…)破壊的な仕様変更をゴリゴリやりそう。

特に PowerShell Desktop は今後バージョンアップは無さげだから、管理系以外の Win系のユーザーは手を出す理由がない。
Win系ですら 「引き継ぎを考えたら VBScript で書いておこうか…」てなる。
WPF は死亡寸前だし。

Winユーザーはバッチや VBScript の後継としての役目を捨てようとしている PowerShell に文句を言う筋合いはあると思うがね。
純粋な対話型CUI の最強は bash系列だし。

何言ってんの??
どこがどう最強なのか言って欲しいわ。

特に、Office系の自動化なんて COMオブジェクトに頼らないと無理だろ。
PowerShell で書くといちいち Excel のセルですらリソース開放が必要でクソ面倒。
Set objExcel = Nothing
とサクッと書けるほうがいいに決まっている。

PowerShell は万能じゃねーんだよ!馬鹿ども。

836 名前:デフォルトの名無しさん mailto:sage [2018/07/17(火) 23:14:01.71 ID:fhQFSH5P.net]
>>801
管理目的とは?

837 名前:デフォルトの名無しさん mailto:sage [2018/07/17(火) 23:20:39.18 ID:fwrxWQ2y.net]
C#erだから.NETライブラリがそのまま使えるPowerShell好きだわ

838 名前:デフォルトの名無しさん mailto:sage [2018/07/17(火) 23:25:15.93 ID:fhQFSH5P.net]
>>803
どんな用途で使ってる?

839 名前:デフォルトの名無しさん mailto:sage [2018/07/17(火) 23:32:27.62 ID:fwrxWQ2y.net]
>>804
最近作ったのはCのヘッダーからC#ラッパー生成するやつ

840 名前:デフォルトの名無しさん mailto:sage [2018/07/18(水) 12:45:25.76 ID:xS6rtIKl.net]
vbsからps

841 名前:をキックする []
[ここ壊れてます]

842 名前:デフォルトの名無しさん mailto:sage [2018/07/19(木) 23:44:42.87 ID:puBIzWD6.net]
>>806
生理的に嫌すぎる

843 名前:デフォルトの名無しさん mailto:sage [2018/07/22(日) 13:00:02.17 ID:ZN+SAgqe.net]
VBAスレに来てるPowerShellゴミクズ荒し何なの?

PowerShellの工夫はより良くするための工夫でVBAの工夫は欠陥を補う工夫って、どのロで言うんだろうね。
VBAだとソース管理出来ないというから、ソース抜き出してソース管理ツールに渡すのはダメという意味なんだろうけど、その割にPowerShellだとVisualStudioと連携できるとか言い出すダブスタ。

PowerShellでC#コンパイル出来るとか、バカ丸出し。
csc使うんだったら何だって出来るだろう。
コイツがムカつくのはそういう工夫を全て否定する所。
それを否定するならPowerShellだってゴミクズだろう。

そういう工夫こそが大事なのに。

844 名前:デフォルトの名無しさん mailto:sage [2018/07/22(日) 13:30:20.53 ID:FoHjHQaV.net]
スクリプトなんて適材適所で何使ったっていい
他人がなんかいちゃもん付けてきたら、
「こいつ初心者で一時的に心酔してバカ発言してるんだな、
 あと数ヶ月もすればこのときのことを思い出して恥ずかしさにそこらへんを転げまわるんだろうな」
程度に気の毒がってりゃいいさ



845 名前:デフォルトの名無しさん mailto:sage [2018/07/22(日) 13:32:06.23 ID:G9t5vsVs.net]
エクセルなんて要らん工夫して紙と電卓を使いこなせば事務作業はできる

会社に支給されたパソコンを目の前置いて、こう主張するおじいさんが居たらどう思う?
馬鹿だねーエクセルなんて簡単なのになんで電卓使うの?
社員ならエクセル使っていいのになんで?
そう思わないかな?

もし思わないなら根本的に感覚がズレてるので同意を得るのは難しいと思うよ

846 名前:デフォルトの名無しさん mailto:sage [2018/07/22(日) 13:33:43.75 ID:/fuF+goF.net]
つかわざわざこっちにきて何がしたいん?
そいつに言えばいいやん
お前もゴミだろう

847 名前:デフォルトの名無しさん mailto:sage [2018/07/22(日) 13:35:02.58 ID:G9t5vsVs.net]
>>811
ことごとく論破されたので逃げてきたんだろう

848 名前:デフォルトの名無しさん [2018/07/22(日) 14:06:13.49 ID:YGqHpPTt.net]
>>811
VBAのスレが荒れるのが嫌だからでしょ
考えたらわかるじゃんw 脳みそあるの?

849 名前:デフォルトの名無しさん [2018/07/22(日) 14:07:05.72 ID:YGqHpPTt.net]
>>812
PowerShellユーザが迷惑かけてるんだから
スレとしての責任が問われてる

850 名前:デフォルトの名無しさん mailto:sage [2018/07/22(日) 14:07:45.01 ID:ZN+SAgqe.net]
散々論破しているのに最後まで居座られて迷惑してスレが終わったからだよ。
そしてPowerShellの立場はExcelと被るわけでどっちも適材適所だろ。
その場に合ったのを使えば良いんだ。

奴は自分がPowerShellを貶めてるのに気付いて無い。

851 名前:デフォルトの名無しさん mailto:sage [2018/07/22(日) 14:15:13.20 ID:/fuF+goF.net]
責任とって立ててきてやったぞ
存分にレスバを楽しんでくれ

Excel VBA 質問スレ Part55
https://mevius.5ch.net/test/read.cgi/tech/1532236398/

852 名前:デフォルトの名無しさん mailto:sage [2018/07/22(日) 14:16:06.18 ID:WPYgWuMH.net]
読んできた
Rubyキチが紛れてるのが無理矢理すぎて笑える

853 名前:デフォルトの名無しさん [2018/07/22(日) 14:17:54.05 ID:YGqHpPTt.net]
>>816
馬鹿野郎、てめんとこの人間が迷惑かけてんだから
うちの者がご迷惑おかけして申し訳ありません
と謝罪するのが筋だろうが

854 名前:デフォルトの名無しさん [2018/07/22(日) 14:19:08.41 ID:YGqHpPTt.net]
ほんとPowerShellは他人に迷惑かけてバッカやな
ほんまクズやな、PowerShellのせいやろな



855 名前:デフォルトの名無しさん mailto:sage [2018/07/22(日) 14:20:41.76 ID:/fuF+goF.net]
照れんなよ
立ててくれてうれしいんだろ

856 名前:デフォルトの名無しさん [2018/07/22(日) 14:23:23.96 ID:YGqHpPTt.net]
行動は早いけど間違ってる人っているよね

857 名前:デフォルトの名無しさん mailto:sage [2018/07/22(日) 14:24:51.70 ID:1tw3f2DK.net]
オマエやんそれ
レスは早いがトンチン

858 名前:Jン []
[ここ壊れてます]

859 名前:デフォルトの名無しさん [2018/07/22(日) 14:26:02.34 ID:YGqHpPTt.net]
>>822
ぼくは何も行動してないからね、完全に無害だけど
スレ立てしちゃった人がいるんだよ、ぼくはその人を知ってるんだ

860 名前:デフォルトの名無しさん [2018/07/22(日) 14:26:31.77 ID:YGqHpPTt.net]
>>816
こいつです、こいつVBAのスレを立てやがりました

861 名前:デフォルトの名無しさん mailto:sage [2018/07/22(日) 14:27:18.37 ID:/fuF+goF.net]
褒めすぎんなよ
当然のことをしたまでよ

862 名前:デフォルトの名無しさん [2018/07/22(日) 14:27:57.35 ID:YGqHpPTt.net]
自分がどれだけ悪いことをしたのかについてもわかってないと思います
頭の悪い人っているんだなって思いました

863 名前:デフォルトの名無しさん [2018/07/22(日) 14:28:40.17 ID:YGqHpPTt.net]
https://pbs.twimg.com/media/CkhWReGUgAAJvHw.jpg

864 名前:デフォルトの名無しさん [2018/07/22(日) 14:30:32.96 ID:YGqHpPTt.net]
自発的に間違った行動をとる組織にとってのガン細胞が確認されました



865 名前:デフォルトの名無しさん [2018/07/22(日) 14:30:55.52 ID:YGqHpPTt.net]
>>816 こいつガンです

866 名前:デフォルトの名無しさん [2018/07/22(日) 14:31:21.33 ID:YGqHpPTt.net]
ガン、お前だったのか!?

867 名前:デフォルトの名無しさん [2018/07/22(日) 14:31:43.01 ID:YGqHpPTt.net]
大造じいさんとガン

868 名前:デフォルトの名無しさん [2018/07/22(日) 14:33:56.27 ID:YGqHpPTt.net]
なんでVBAのスレ立ててもうたんや
何してくれてんのや
PowerShellユーザが言い訳できないレベルで
全面的に悪いことになってまうやろ

869 名前:デフォルトの名無しさん [2018/07/22(日) 14:35:11.72 ID:YGqHpPTt.net]
なんでや!?なんでやねん!なんでスレ立ててもうたんや!!
なんでもっと冷静に行動でけへんねん
スレ立てたら済むと思ったんか?
なに考えてんねん

870 名前:デフォルトの名無しさん [2018/07/22(日) 14:36:13.45 ID:YGqHpPTt.net]
なんでこんな前例を作ってしまったんや
この過ちはPowerShellの後世に禍根を残すで

871 名前:デフォルトの名無しさん [2018/07/22(日) 14:37:09.12 ID:YGqHpPTt.net]
>>831
大造じいさん「ぐぅぅ、わしはもうだめや・・・」

872 名前:デフォルトの名無しさん [2018/07/22(日) 14:39:37.19 ID:YGqHpPTt.net]
さて、残念なことが起きました
この中にVBAのスレを立てた人がいます
正直に手を挙げてください

873 名前:デフォルトの名無しさん [2018/07/22(日) 14:39:55.36 ID:YGqHpPTt.net]
>>816
お前や!!!

874 名前:デフォルトの名無しさん mailto:sage [2018/07/22(日) 15:07:12.23 ID:JJRFMnGG.net]
いくら何でもこれはないわ。
どっちがよりクズかって言ったら断然VBA住人だろう。
PowerShell -Part 3
mevius.5ch.net/test/read.cgi/tech/1532236932/



875 名前:デフォルトの名無しさん [2018/07/22(日) 16:11:00.92 ID:YGqHpPTt.net]
>>838
スレ立ててやったんやから感謝せえや

876 名前:デフォルトの名無しさん [2018/07/22(日) 16:11:26.61 ID:YGqHpPTt.net]
当然のことをしたまでよ
照れんなよ

877 名前:デフォルトの名無しさん mailto:sage [2018/07/22(日) 18:26:14.28 ID:JJRFMnGG.net]
>>839
ずいぶん可愛そうな環境で育ったんだな。同情するよ、ごめんな。

878 名前:デフォルトの名無しさん mailto:sage [2018/07/24(火) 20:42:16.15 ID:cNxRMkIk.net]
>>808
> PowerShellでC#コンパイル出来るとか、バカ丸出し。
残念ながらそんな昭和脳レベルの話じゃないんだな w
yomon.hatenablog.com/entry/2013/06/05/PowerShellスクリプト内でC%23コードを書いて使う

879 名前:デフォルトの名無しさん mailto:sage [2018/07/25(水) 21:13:55.37 ID:Yq3sixxb.net]
Powershellのコマンドを使ってあるEXEを管理者権限で起動することって出来ないでしょうか?

いちいちEXEのショートカットを作って「管理者として実行」にチェックするのが面倒なので・・・

あ、OSはWin7です。

880 名前:デフォルトの名無しさん mailto:sage [2018/07/25(水) 21:15:04.89 ID:Yq3sixxb.net]
↑OSはWin10でした。すみません。

881 名前:デフォルトの名無しさん mailto:sage [2018/07/25(水) 21:41:07.86 ID:ep37fxti.net]
start hoge.exe -Verb runas

882 名前:デフォルトの名無しさん mailto:sage [2018/07/25(水) 23:07:01.78 ID:GlwT5bgj.net]
>>842
あんまり、荒らすつもりは無いけどそれはダメダメだね。
というか、その昔俺もその手法使ってたし。
俺の書いたPS1ファイルのタイムスタンプを見ると2011年だからその記事より前だな。

あのね、何でC#のソースを動かさなきゃならんの?
そういう場面が有るとすればPowerShellだけで出来ないことをしようとする場合だろ。
つまり工夫で乗りきろうとしている場合なんだからVBAのスレを荒らしてた奴風に言わせればC#のソースを書かなきゃならん時点でPowerShellはゴミってことになるのよ。

883 名前:デフォルトの名無しさん mailto:sage [2018/07/26(木) 00:24:48.95 ID:xTcDuoaq.net]
VBA内でC#のクラス定義してそのままVBA内で使えるようになってから

884 名前:o直してこい
何をするにも不合理に手間がかかるからVBAは糞だって言ってんだよ
[]
[ここ壊れてます]



885 名前:デフォルトの名無しさん mailto:sage [2018/07/26(木) 00:32:39.24 ID:A133ONF8.net]
なんで既存のソース活用するのにcscだの別プロセスだの大げさなことしないといかんの?
.NETがあるのになんで態々COMだのwinAPIだの直で触らなあかんの?
っていう人間なので問題なしです

886 名前:デフォルトの名無しさん [2018/07/26(木) 06:27:07.99 ID:gfIbAgn/.net]
>>847
でもPowerShellは激遅ですよ

887 名前:デフォルトの名無しさん mailto:sage [2018/07/26(木) 06:40:44.04 ID:/8jtV8/F.net]
>>846
> そういう場面が有るとすればPowerShellだけで出来ないことをしようとする場合だろ。
バカなの?
・C#のほうが楽に書ける
・既存のコードが流用できる
とかあるだろ

888 名前:デフォルトの名無しさん mailto:sage [2018/07/26(木) 08:08:40.25 ID:OM9s1u3H.net]
>>847
PowerShellだって不合理じゃねーか。
お前は都合の良いところばかり言う。
Excelブック1ファイルで完結できるようになってから出直しな。

>>850
同じことだ。
欠点を工夫で乗りきっているわけだから。

889 名前:デフォルトの名無しさん mailto:sage [2018/07/26(木) 08:42:02.44 ID:xTcDuoaq.net]
工夫の簡単さがVBAとはダンチなんですが

890 名前:デフォルトの名無しさん mailto:sage [2018/07/26(木) 09:04:14.03 ID:EgEPuxK9.net]
はるほど、ExcelVBAスレで暴れてた奴今度はこっちに来てたのか…

891 名前:デフォルトの名無しさん mailto:sage [2018/07/26(木) 12:12:12.02 ID:/8jtV8/F.net]
>>851
どこが同じなんだよ w

> 出来ないことをしようとする

> 楽に書ける
> 流用できる

892 名前:デフォルトの名無しさん mailto:sage [2018/07/26(木) 12:49:19.43 ID:OM9s1u3H.net]
>>854
出来ないことをしようとする。
←C#のコ―ドをそのままC#でコンパイルして、出来たプログラムを動かす。

出来ないことをしようとする。
←コンパイル済みのプログラムを高速に動かす。

出来ないことをしようとする。
←VisualStudioでGUIのデザインをする。

出来ないことをしようとする。
←面倒なことをPowerShell単体で実現する。

な、一緒だろ。

893 名前:デフォルトの名無しさん mailto:sage [2018/07/26(木) 13:38:54.60 ID:l6m81nf0.net]
相変わらず日本語が通じない

894 名前:デフォルトの名無しさん mailto:sage [2018/07/26(木) 14:42:38.06 ID:/8jtV8/F.net]
もう引っ込みつかなくなって意味不明なことを語りだしたか w



895 名前:デフォルトの名無しさん mailto:sage [2018/07/26(木) 14:55:36.09 ID:pqw8jMOd.net]
PoshもVBAも
同じMS製品なんだから
ケンカすんなよ

896 名前:デフォルトの名無しさん mailto:sage [2018/07/26(木) 18:46:55.24 ID:BBodZQOS.net]
VBAはMSの暗黒面だから一緒にしないでほしい

897 名前:デフォルトの名無しさん mailto:sage [2018/07/26(木) 19:03:10.56 ID:OM9s1u3H.net]
日本語が通じないのはお互い様だろ。

C#に比較して楽に書けて無いだろ。
つまりC#を元に考えればゴミということになる。

別途VSCodeとかを入れるのは面倒じゃ無いのか?

C#のコード部品にもインテリセンスが効くのか?

楽だとすればそれはC#のことでPowerShellは文字列変数にコード入れなきゃならん。
そして文字列をC#のコードとして動かす為にもAdd-Type呼び出すなどと面倒なことをしなきゃならん。

898 名前:デフォルトの名無しさん mailto:sage [2018/07/26(木) 20:41:15.58 ID:T4rU0dQ5.net]
>>860
まったくもってその通りで C#>PowerSell だよ

もっと書くと
C# > PowerSell >>>>>>>>> VBA
だけど

なんで唐突にC#と比べはじめちゃったの?

899 名前:デフォルトの名無しさん mailto:sage [2018/07/26(木) 20:43:42.29 ID:5d1EUyas.net]
向こうでもVSCodeやらIDE入れたら〜ってレスしてるやついるけどさ

VBAを主に使うのは事務屋

事務の職場は(開発系と違って)外部ソフトの導入を渋られる所が多い

結局Windows付属の
・VBA
・VBS
・cmd
・PowerShell
しか使えない

エクセルにあまり関わらない処理はPowerShellでやってもいいんじゃね

って感じだと思うの
(というか、現にウチがこれ)

この、VBA(VB6)かPowerShell「しか」手段がない前提で行けば、
C#のソース読み込むとか多少歪んだ使い方だとしてもVBAよりPowerShellを使いたくなる時があるのは理解できるだろ?

もちろんVBAもバリバリ使ってるけどな

なんでどちらかだけしか使う価値がない!!!みたいな話になってんだろ

900 名前:デフォルトの名無しさん mailto:sage [2018/07/26(木) 21:19:35.67 ID:xTcDuoaq.net]
マクラーは何でもかんでもVBAでやりたがるから

901 名前:デフォルトの名無しさん mailto:sage [2018/07/26(木) 23:53:09.37 ID:8XjexWHE.net]
Add-Typeはメタプログラミングするときに便利

902 名前:デフォルトの名無しさん mailto:sage [2018/07/26(木) 23:56:00.76 ID:OM9s1u3H.net]
>>862
逆の話でね、こっちはず―っとそういうことを言ってるの。
その度にPowerShellしか価値が無いと言われてるんだよ。
ず―っと適材適所と言ってる。

903 名前:デフォルトの名無しさん mailto:sage [2018/07/27(金) 00:00:29.39 ID:/pOg/k3/.net]
>>865
VBAでスクレイピングだとか1ファイルで完結とか言っといて適材適所を主張してます!は頭おかしいんじゃねえの?

904 名前:デフォルトの名無しさん mailto:sage [2018/07/27(金) 00:03:25.35 ID:hpcoy/E6.net]
>>861
全くその通りじゃね―んだよ。
VisualStudioが入って無い、もしくは入れられない環境ではC#は意味がねえ。
だから適材適所なんだよ。

大体、PowerShellがVBAに勝てるわけねえんだよ。
VBAが使われる環境ではVBA>>>PowerShellだし。
PowerEellが使われる環境ではPowerShell>>>VBAだろう。
噛み合わねえんだよ。



905 名前:デフォルトの名無しさん mailto:sage [2018/07/27(金) 00:06:37.08 ID:hpcoy/E6.net]
>>866
1ファイルになるのはExcelの環境だからだろ。
そういう土俵(環境)なんだからVBAが有利なのは仕方無いだろ。
スクレイピングもExcelブックにデータを展開するのが前提だぞ。
そうじゃなかったらVBAでやるべきじゃない。

906 名前:デフォルトの名無しさん mailto:sage [2018/07/27(金) 00:13:06.60 ID:hpcoy/E6.net]
汎用的な開発だったら何でVBAでやるんだよ。
そりゃアホだろ。

VBAの議論をするならExcelの環境が大前提なんだから他の言語はそれに合わせなければならない。
だから他言語は不利になるのあたり前の話。

こういう話は当然PowerShellにもあるわけで、だから適材適所なわけ。

907 名前:デフォルトの名無しさん mailto:sage [2018/07/27(金) 01:27:22.29 ID:/pOg/k3/.net]
>>867
噛み合わないのはお前の理解力と日本語能力のせいでは??
正直なんでいきなり演説かましてんだこいつって感じだぞ

908 名前:デフォルトの名無しさん mailto:sage [2018/07/27(金) 06:29:32.02 ID:Z7cB5M3n.net]
1ファイルになるのがメリットみたいな言い分が謎
逆にデメリットだろそれは
ファイル分けて管理したほうが開発しやすいだろ常識的に考えて
最終的に配布を1ファイルにしたいならJSみたいにバンドルすりゃいいだけだし
なんならワンライナーのオンラインインストーラーでもいい

909 名前:デフォルトの名無しさん mailto:sage [2018/07/27(金) 06:40:59.87 ID:uuBPM4V2.net]
>>871
> ファイル分けて管理したほうが開発しやすいだろ常識的に考えて
それは開発側の都合でしかない
そんな事を意識しない利用者にとっては単一ファイルの方がいいのは当たり前
> なんならワンライナーのオンラインインストーラーでもいい
インストールとかバカすぎる w

910 名前:デフォルトの名無しさん mailto:sage [2018/07/27(金) 06:58:14.44 ID:1B0+N/X4.net]
ちっちゃな事で荒れるな。
IT土方同士仲良くしろ。

911 名前:デフォルトの名無しさん mailto:sage [2018/07/27(金) 07:22:54.24 ID:Z7cB5M3n.net]
>>872
脊髄反射でレスしないで読んでから返せない?

ユーザー都合で1ファイルがいいなら、1ファイルにバンドルすりゃいいだろ、って読めなかった?

インストールがダメってのも意味不明だな
ユーザー目線ならそれこそ何ファイルだろうがツールとして使えれば良いのだから、インストールスクリプトは有力な選択肢になる

1ファイルが良いってのもそもそもお前の思い込みでしかなくて、世の中には複数ファイルのツールのほうが遥かに多く、利用されてる
ユーザーは結果として簡単に使えればそんなことは気にしないんだよ

912 名前:デフォルトの名無しさん mailto:sage [2018/07/27(金) 08:02:02.45 ID:uuBPM4V2.net]
>>874
VBAでバンドルとやらをどうやるつもりなのか書いてみ
> ユーザーは結果として簡単に使えれば
って豪語するんだから今のExcelファイル単体並に簡単に使えるんだよな w

913 名前:デフォルトの名無しさん mailto:sage [2018/07/27(金) 08:14:39.55 ID:hpcoy/E6.net]
>>874
1ファイルにバンドル?
ExcelブックにPS1をバンドルしてどうするんだ?
個別に動かすの?
それじゃ1ファイルの意味ねーだろ。
第一、VBAは面倒とか言ってたのにそういう面倒なことするの?

Excelブックを渡した相手に余計な何かをインストールさせるのか。
VBAならそんなこと丸っきり必要ないのに。
インストールしなくても同じことが出来るならインストールしな

914 名前:ォゃならんのはどう見てもデメリット。

世の中はExcelブックと他に何か別のファイルを持ち歩くのが遥かに多いとか、バカ過ぎるだろ。

ユーザーは簡単に使えれば中のコードがどうとか何の言語とかは優先度が低い。

Excelが前提のVBA批判をしてる自覚ある?
世の中には複数ファイルのツールってExcelの何?
なんか、ひとりよがりに感じるな。
[]
[ここ壊れてます]



915 名前:デフォルトの名無しさん mailto:sage [2018/07/27(金) 08:58:29.44 ID:5SOHwwXD.net]
適材適所とか言っておいてこれだよ
どんな場所でもVBAが適材になると思ってるらしい

916 名前:デフォルトの名無しさん mailto:sage [2018/07/27(金) 11:09:47.17 ID:t79VcJbD.net]
Excelの場合はVBAは適材と読めるけど

917 名前:デフォルトの名無しさん mailto:sage [2018/07/27(金) 12:06:33.39 ID:9o30Opw+.net]
日本語が通じないのが一番困るねぇ
なんでエクセルにpsをバンドルするって話にすり変わってんだよ
開発は複数のPs1でやって配布は1つのps1にバンドルしてやるって話だろが

918 名前:デフォルトの名無しさん mailto:sage [2018/07/27(金) 12:06:57.97 ID:wTR8C+Yu.net]
excel自体が適材じゃないから
ありとあらゆるものがexcelだから

919 名前:デフォルトの名無しさん mailto:sage [2018/07/27(金) 12:15:36.26 ID:9o30Opw+.net]
ファイル渡すだけ

インストールワンライナーをコピペしてシェル叩くだけ
あるいは1つのインストールスクリプトをダウンロードして実行するだけ

どっちも初回の手間は大して変わらんだろう

でも、エクセルファイル渡しは後々のバージョン管理で混乱するから、総合的に見てインストールのほうが楽だね

920 名前:デフォルトの名無しさん mailto:sage [2018/07/27(金) 12:18:56.01 ID:9o30Opw+.net]
エクセルは他のもの要らないんだー

見つからない参照


鉄板あるあるネタwww


psはライブラリなければセントラルリポジトリからとってくるだけなのでこんなアホな目に合わんで済む

921 名前:デフォルトの名無しさん mailto:sage [2018/07/27(金) 12:26:36.44 ID:2qIHcbej.net]
ライブラリなんて使うからそうなる
全部自分で1から書き上げるか、歴史ある秘伝の自作ソースをコピペすれば事足りる
工夫で乗り切れるのだ




らしいっすよ?

922 名前:デフォルトの名無しさん mailto:sage [2018/07/27(金) 12:44:53.66 ID:hpcoy/E6.net]
>>877
だから話の流れを読め。
Excel限定のVBAの話から始まっている。
どんな場所でもでは無い。
Excel限定だ。
元々の>>871が既にExcel限定を考慮せずにおかしなことになってる。

>>878
そうとも限らない場合もあるけど基本的にはその通り。
それに対してどんな場合でもVBAはダメっていう主張が有って、VBA側はそれに反論してる。

923 名前:デフォルトの名無しさん mailto:sage [2018/07/27(金) 12:47:15.71 ID:hpcoy/E6.net]
>>881
その手間が既に面倒くさいだろ。
しかもブック開いてるのに別スクリプトも動かすのか?

めんどうだわ。

924 名前:デフォルトの名無しさん mailto:sage [2018/07/27(金) 12:51:06.22 ID:hpcoy/E6.net]
>>882
そもそも基本的にMicrosoft謹製以外は使用NGが普通だぞ。
ライブラリのコードを全て把握してるとか自社で作成したものなら別だが。



925 名前:デフォルトの名無しさん mailto:sage [2018/07/27(金) 13:10:58.41 ID:2qIHcbej.net]
>>885
Excelにくっついてくるソルバーアドイン使うのでさえ
オプションクリックしてアドインクリックして有効なアドインクリックしてチェックボックスクリックして…
とかやるのよりよっぽど簡単

926 名前:デフォルトの名無しさん mailto:sage [2018/07/27(金) 18:25:06.09 ID:hpcoy/E6.net]
>>887
???
既にそんな設定は済んでいるが。

927 名前:デフォルトの名無しさん mailto:sage [2018/07/27(金) 18:29:23.81 ID:HpMLTKup.net]
>>884
Excelありきの話ならVBAスレでバトルしてこい

ここはPowerShellスレでPowerShellはなんでもできるオールラウンダーだ
PSerは心が広いからExcelコントロールの話をするなということはない
だがExcelの話題で縛れというなら流石に付き合う理由はない

繰り返す
Excelありきの話ならVBAスレで

928 名前:やれ []
[ここ壊れてます]

929 名前:デフォルトの名無しさん mailto:sage [2018/07/27(金) 18:34:48.47 ID:hpcoy/E6.net]
>>889
そうなんだよな。
本当は長居するつもりも無かったんだが
頓珍漢なレスが多くて反応して今に至ってる。

930 名前:デフォルトの名無しさん mailto:sage [2018/07/27(金) 18:37:15.79 ID:hpcoy/E6.net]
元々VBAスレがPowerShell信者に荒らされてな。
そのままスレが最後までいって次が立つまでの間にこっちに書いたらこうなった。

931 名前:デフォルトの名無しさん mailto:sage [2018/07/27(金) 20:52:54.00 ID:/pOg/k3/.net]
>>888
お前が済んでたらファイル渡されたユーザーも参照できんのかよ

932 名前:デフォルトの名無しさん mailto:sage [2018/08/01(水) 09:22:45.41 ID:LkPgJ43O.net]
v6.0.3 Release of PowerShell Core
https://github.com/PowerShell/PowerShell/releases/tag/v6.0.3

933 名前:デフォルトの名無しさん mailto:sage [2018/08/05(日) 15:25:02.08 ID:iWriYPq8.net]
C#は.NET無い環境だとブレークポイントで止めながらデバッグとか出来ないってことでいいのでしょうか?

934 名前:デフォルトの名無しさん mailto:sage [2018/08/05(日) 16:13:15.95 ID:8pU3W85Z.net]
>>894
.NET無いってどういうこと?



935 名前:デフォルトの名無しさん mailto:sage [2018/08/05(日) 16:58:00.21 ID:iWriYPq8.net]
>>895
Visual Studioでした。すみません。

936 名前:デフォルトの名無しさん mailto:sage [2018/08/05(日) 21:27:02.69 ID:8pU3W85Z.net]
>>896
omnisharp
これ以上は適切なスレで

937 名前:デフォルトの名無しさん mailto:sage [2018/08/08(水) 06:10:45.62 ID:9IQgpJP5.net]
Add-TypeでC#をコンパイルしてアセンブリを吐き出すことってできない?
cscをつかうかCodeDOMをつかうっきゃないか

938 名前:デフォルトの名無しさん mailto:sage [2018/08/08(水) 07:33:51.33 ID:aBUsJDbY.net]
>>898
そこまできたら普通にRoslyn使えよ…

939 名前:デフォルトの名無しさん mailto:sage [2018/08/08(水) 09:28:50.60 ID:t8dLk4fV.net]
>>898
-OutputAssembly
-OutputType

https://technet.microsoft.com/ja-jp/library/dd315241.aspx

940 名前:デフォルトの名無しさん mailto:sage [2018/08/10(金) 02:50:48.12 ID:r84RRSaO.net]
日本語環境でUpdate-Helpが成功した方いますか?

941 名前:デフォルトの名無しさん mailto:sage [2018/08/12(日) 11:52:57.19 ID:AqaK+sLZ.net]
「Write-Host $Args[0]」とだけ書いたスクリプトを、コマンドプロンプトから
「powershell ./test.ps1 "(笑)"」
と呼び出すと「CommandNotFoundException」が発生します。

括弧が悪いようですが、やっぱり渡す前に「"`(笑`)"」みたいにバッククォートで括弧をエスケープするしかないんですかね?
実際は引数に何が来るかわからないので、できればPowerShell側でなんとかしたいんですが。

942 名前:デフォルトの名無しさん mailto:sage [2018/08/12(日) 14:22:48.08 ID:pjLEMieq.net]
>>902
powershell -file ./test.ps1 "(笑)"

943 名前:デフォルトの名無しさん mailto:sage [2018/08/13(月) 20:44:05.76 ID:9GVffBEY.net]
>>903
いけました、ありがとうございます!

944 名前:デフォルトの名無しさん mailto:sage [2018/08/13(月) 22:24:06.95 ID:aFOAPcea.net]
livedoor.blogimg.jp/teishaba_604/imgs/4/8/48b73c81-s.jpg



945 名前:デフォルトの名無しさん mailto:sage [2018/08/15(水) 21:56:44.38 ID:JQmIXjO5.net]
>>905
店名は「笑」と書いてショウと読むのに対し,
「(笑)」は「(笑い)」の省略されたものなのでワラもしくはワライと読むはずなので,
その画像は不適切

946 名前:905 mailto:sage [2018/08/16(木) 23:27:16.70 ID:3IMawj9A.net]
>>906
いや、そもそもスレチなんでまともに相手しないであげて下さいw

ところでPowershellで何かわからないことあってググると
大体「mtgpowershell.blogspot.com/」のサイトがヒットすることが多いんだけど
このサイト運営してる人ってすごく頭がいいんだろうなあ

947 名前:デフォルトの名無しさん mailto:906 [2018/08/17(金) 02:04:19.83 ID:ApTQfLt8.net]
>>907
ネタにマジレスするっていうネタやで

俺もそのサイトは度々参考にさせてもらってるわ
http

948 名前:://tech.guitarrapc.com/archive/category/PowerShell
↑このサイトもおすすめ。「PowerShell実践ガイドブック」の作者。
[]
[ここ壊れてます]

949 名前:デフォルトの名無しさん mailto:sage [2018/08/17(金) 07:49:40.85 ID:ObWRp2dL.net]
>>905
>>906
麺屋側は商売だから
とくに「ワラ」とか
ネットスラングまんまの店名つけるわけない

950 名前:907 mailto:sage [2018/08/17(金) 21:38:03.34 ID:OW713aU2.net]
>>909
俺が悪かったのでもうスレチにマジレスは勘弁して下さい。(^_^;)

>>908
Powershellの書籍まで出してる人のサイトか、すごいですね。
使えるTIPSあるかひと通り見てみますね。

951 名前:デフォルトの名無しさん mailto:sage [2018/08/26(日) 17:31:51.65 ID:ueCC70T4.net]
さすがに空白区切りの項目を$3とかで参照できないよな
awkが特殊すぎるか

952 名前:デフォルトの名無しさん mailto:sage [2018/08/26(日) 22:38:58.94 ID:BD3/9DfM.net]
特化された言語と比べなければ十分シンプルかな
cat $1 | % { $a = -split $_; $a[3] + $a[2] }
変数への代入が少しやぼったく感じる

953 名前:デフォルトの名無しさん mailto:sage [2018/08/27(月) 08:30:13.32 ID:C7OBrvX6.net]
ふむふむ、笑は「わら」って読まないのか…
1つ勉強になったわ
            笑笑店主


954 名前:デフォルトの名無しさん mailto:sage [2018/09/05(水) 21:03:41.11 ID:223DM7Lb.net]
>>889
「PowerShellは何でもできる」は嘘。
お前は死んでいい。つーか死ね。
PoewerShellやっても背は伸びなかったし、彼女出来なかったし、宝くじにも当たらなかったわ!!!!

まぁそれは冗談として。
「何でも」ってのは流石に撤回しろよ。

あ、俺は >>884 ではない。



955 名前:デフォルトの名無しさん mailto:sage [2018/09/05(水) 21:34:41.59 ID:ueA0fDDX.net]
PowerShellで赤ちゃんできました、ありがとうございます!!

956 名前:デフォルトの名無しさん mailto:sage [2018/09/05(水) 22:18:06.97 ID:+hZ+CXx5.net]
>>914
> PoewerShellやっても背は伸びなかったし、彼女出来なかったし、宝くじにも当たらなかったわ!!!!
それパチモンやん

957 名前:デフォルトの名無しさん mailto:sage [2018/09/05(水) 22:34:57.71 ID:67GmsqOi.net]
毛が生えてきました

958 名前:デフォルトの名無しさん mailto:sage [2018/09/05(水) 23:18:58.56 ID:223DM7Lb.net]
PqewrShellを飲んで二か月です。
アソコビンビンで妻も満足です。

こう?

959 名前:デフォルトの名無しさん mailto:sage [2018/09/05(水) 23:24:51.36 ID:67GmsqOi.net]
通常の蜆の30倍
蘇る男の自信

960 名前:デフォルトの名無しさん mailto:sage [2018/09/06(木) 06:56:43.48 ID:OzF+wVKL.net]
蜆ってしじみのことか
PowerShell…米国の製薬会社で開発された貝のサプリかな

961 名前:デフォルトの名無しさん mailto:sage [2018/09/06(木) 21:28:59.42 ID:tWUwV9UN.net]
Powershellやりはじめたら台風被害にあったよ><

家の前の自転車が倒れただけだけど

962 名前:デフォルトの名無しさん mailto:sage [2018/09/08(土) 14:31:58.13 ID:oTozgSe4.net]
PowerShell Core 6.x (以下 PS6) を導入した環境でスクリプトを実行する際、
実行環境を容易に 旧来の PowerShell 5 (以下 PS5)、PS6 とで
切り替える方法ってありますか?

モジュールの関係で PS5 でないと動作しないものもあるので、こっちのスクリプトは
PS5 で動かしたい、ほかは PS6 で、って感じで混在してます。

海外のスレッドでは、拡張子「.ps6」を独自に追加してそれで切り替えれば?みたいな
回答が出てましたけど、汎用性に欠けるのであんまりそういうことはしたくないんです。
Linux みたいに shebang 行で切り替えられれば一番なんですけど。

なにかアイディア無いですか?

963 名前:デフォルトの名無しさん mailto:sage [2018/09/08(土) 14:40:20.95 ID:MO8wxn5E.net]
一行目読み取ってどっちを起動するか切り替える実行ファイルつくればいいやん

964 名前:デフォルトの名無しさん mailto:sage [2018/09/08(土) 15:06:48.98 ID:hiBN1no6.net]
切り替えるってのがよく分からん
そもそもps1ファイル自体は実行しても何も起こらないんじゃなかったっけ



965 名前:デフォルトの名無しさん mailto:sage [2018/09/08(土) 15:24:39.69 ID:YwBJn4st.net]
そりゃスクリプトはテキストファイルだから実行形式じゃないよ
画像ビューアにコマンドライン引数で画像パス渡せば画像が開くでしょ
スクリプトの実行はそれと同じことやってるの
なんでプログラム板でこんなこと説明しないといけないんだ

966 名前:デフォルトの名無しさん mailto:sage [2018/09/08(土) 16:26:12.38 ID:L0x65Qz7.net]
いやだからさ
実行元がpwshとpowershellで明確に違うのに何を切り替えるのか分からんのよ

967 名前:デフォルトの名無しさん mailto:sage [2018/09/08(土) 16:37:52.36 ID:nMBTba9u.net]
拡張子の関連付け問題の話?
バ―ジョンチェックとどちらで起動するかのリストを持ってる振り分けアプリ作って、.ps1への関連付けをそれにするとか。

968 名前:デフォルトの名無しさん mailto:sage [2018/09/08(土) 16:47:51.96 ID:oKnpK5oG.net]
実行された環境がPS6だったら自身をPS5で実行して終了するスクリプトを
PS5で実行したいファイルの頭に書いておけばいいんじゃね

969 名前:デフォルトの名無しさん mailto:sage [2018/09/08(土) 17:33:30.08 ID:oTozgSe4.net]
例えば、Active Directory 管理用モジュール「ActiveDirectory」は、現状
powershell.exe でしか動かず、pwsh.exe ではインポートできないわけ。

--------
参考
https://docs.microsoft.com/ja-jp/powershell/scripting/whats-new/breaking-changes-ps6?view=powershell-6
PowerShell スナップインは、PowerShell モジュールの前身ですが、PowerShell コミュニティではあまり使用されていません。
-- snip --
現時点では、Windows および Windows Server 内の ActiveDirectory および DnsClient モジュールに影響します。
--------

というわけで、今俺が作ってるものだと、以下のものが混在してる。
イ)powershell.exe でしか動かない
ロ)pwsh.exe でしか動かない
ハ)どっちでも動く

で、〜.ps1 ファイルを実行する際に、右クリックして「PowerShell で実行」とすると、何もしなければ powershell.exe で
実行される。自分が作ったものはほとんどが(ハ)なんだけど、時々(ロ)もあって、それを実行するときは右クリックして「PowerShell で実行」が出来ないんで面倒。

今検討してるのは、
a) pwsh.exe でしか動かないものは拡張子を .ps6 でにして、Windows に ps6 を pwsh.exe に関連付ける
b) sendto フォルダに pwsh.exe で実行させるバッチファイルを置く
c) バッチファイル (〜.cmd) に、実行環境ごと書いてしまう (参考 d.hatena.ne.jp/hake/20180218/p1 )

なんだけど、ほかにやりよう無いかね。

970 名前:デフォルトの名無しさん mailto:sage [2018/09/08(土) 18:08:00.82 ID:+HZWtY92.net]
UNIXシェルのシバンみたいのが理想なら>>928は現実的な最適解だと思うんだけど何故スルー?

971 名前:デフォルトの名無しさん mailto:sage [2018/09/08(土) 18:26:03.12 ID:HSx0xrFN.net]
そんだけならコンテキストメニューを拡張して
「PSV5で実行」を追加すれば良くね

972 名前:デフォルトの名無しさん mailto:sage [2018/09/08(土) 19:09:29.22 ID:nMBTba9u.net]
右クリックなら選べるからコンテキストメニューをどうにかすべきだな。

ダブルクリックの話かと思ってた。

973 名前:デフォルトの名無しさん mailto:sage [2018/09/08(土) 19:12:14.31 ID:nMBTba9u.net]
>>930
環境の問題とプログラム自体を分けておきたいとかあるんじゃないの?

974 名前:デフォルトの名無しさん mailto:sage [2018/09/08(土) 21:00:30.80 ID:oTozgSe4.net]
>>928
イメージとしてはこんな感じかな。たしかにうまくいきそう。
ありがとう、明日試してみる。
-----------
<# ps1 の関連付けが powershell.exe の状態 (デフォルト) で、pwsh.exe で実行させたいものの場合 #>
# 実行環境が ver 5 以下の場合
if ($PSVersionTable.PSVersion.Major -le 5) {
pwsh.exe $MyInvocation.MyCommand.Path
exit
}
# 以下、ver 6 以上



975 名前:ナ実行させたい内容 []
[ここ壊れてます]

976 名前:デフォルトの名無しさん mailto:sage [2018/09/08(土) 21:11:46.23 ID:oTozgSe4.net]
>>931 >>932
もちろんそれでも十分可能なんだけど、以下の理由でできればカスタマイズは避けたいんです。スクリプト内だけで完結させたい。

・マシンがたくさん、OS も複数種類、ユーザプロファイルもたくさんあるので、標準構成からあまりいじりたくない
・お客さんに納品する可能性も考慮

977 名前:デフォルトの名無しさん mailto:sage [2018/09/09(日) 12:32:25.50 ID:CjsffzYn.net]
そんな条件なら最初から全部ver5用に作るわ

978 名前:デフォルトの名無しさん mailto:sage [2018/09/09(日) 12:54:55.70 ID:PZb39582.net]
運用マニュアルなしで議論してもしょうがないでしょ
このスクリプトはver5環境で実行してくださいと一言書いとけば済む話

979 名前:デフォルトの名無しさん mailto:sage [2018/09/09(日) 13:48:43.10 ID:b90Mhdwq.net]
そういう能書きが書いてあっても何のこっちゃ分からんという人に配布しなきゃいけない場合もあるからなぁ
お客さんに運用対応を要求するのも大変なことだし

980 名前:デフォルトの名無しさん mailto:sage [2018/09/09(日) 14:14:36.64 ID:R8hBsgvF.net]
>>937はこの手の仕事したことないんだろ
マニュアル書いても
「ver5環境ってなんだ?」
とか、そもそも説明なんて読んでなくて
「うまく動かないので至急なんとかしてください」
って言われるだけのこと

981 名前:デフォルトの名無しさん [2018/09/09(日) 14:39:06.98 ID:DLS5Iddq.net]
これで十分
#Requires -Version 5
if ($PSVersionTable.PSEdition -eq 'Core') {
throw 'Powershell Coreでは動作しません。'
}

982 名前:デフォルトの名無しさん mailto:sage [2018/09/09(日) 14:42:48.50 ID:0y2Fjk63.net]
「マニュアル?あぁ読んでないわ。とにかく直しといてね」

983 名前:デフォルトの名無しさん mailto:sage [2018/09/09(日) 14:47:33.78 ID:0y2Fjk63.net]
>>940
「なんか 動作しません て出るんだけど?直しといてね」

984 名前:デフォルトの名無しさん [2018/09/09(日) 15:19:04.80 ID:DLS5Iddq.net]
「対応するなら○○万円(鬱陶しい顧客リスク分を上乗せして)頂戴します。」
断るならブラック顧客だから切るべし。
断れないならブラック企業だから転職。



985 名前:デフォルトの名無しさん mailto:sage [2018/09/09(日) 15:28:45.97 ID:D8J39mU4.net]
>>943
突っぱねるだけじゃなく、妥協点を見出す、Fail safe, Fool proof ってのも重要なことだよ。
まあ個人のポリシーだから好きにすればいいけど。

986 名前:デフォルトの名無しさん mailto:sage [2018/09/09(日) 15:31:06.93 ID://bKOaXP.net]
無職の妄想かよ w

987 名前:デフォルトの名無しさん mailto:sage [2018/09/09(日) 15:47:36.82 ID:jqHbfRUC.net]
マニュアル書くにしたって、「エラーメッセージが出ます」と一言で説明するだけじゃ不十分
「『ver5環境では動作しません』というメッセージが表示されます。この場合...」と一字一句再現してやらないとわけわからなくなる人が山のようにいるのでね
ウィンドウの背景色やフレームの色まで画像付きで説明されてないと理解できない人もいるし
舐めてると死ぬぞ

988 名前:デフォルトの名無しさん mailto:sage [2018/09/09(日) 20:12:23.17 ID:0ym3cmgA.net]
会計ソフトを出したら、それを買った客が、簿記・会計処理のことを聞いてくるw
女が電話に出ると、何時間でも粘るw

そういう客もいる

989 名前:デフォルトの名無しさん mailto:sage [2018/09/09(日) 20:24:13.14 ID:H4RfJ3jl.net]
>>947
それ、チャンスじゃん。
サポート料を時間当たりいくらと決めとけば良い。

990 名前:デフォルトの名無しさん mailto:sage [2018/09/09(日) 20:59:40.12 ID://bKOaXP.net]
>>947
全然関係ないけど昔生理用品メーカーに納入した機器の入れ替えに行った時に聞いた話だと、お客さんからの問い合わせ(多分クレーム)で長い時は3時間とかかかるって言ってた

991 名前:934 mailto:sage [2018/09/10(月) 17:56:21.73 ID:0jDkILQ9.net]
結局こんなふ

992 名前:うにしたよ
https://pastebin.com/9RWLpSC7

>>928
ありがとうごさいました!
ほかの皆さんもありがとうございました!
[]
[ここ壊れてます]

993 名前:デフォルトの名無しさん mailto:sage [2018/09/12(水) 08:25:50.66 ID:HwQfxVDT.net]
Verifying PowerShell versions…let me count the ways
https://blogs.technet.microsoft.com/laurapark/2018/08/26/verifying-powershell-versions-let-me-count-the-ways/

994 名前:デフォルトの名無しさん mailto:sage [2018/09/14(金) 07:52:52.25 ID:itNItVhP.net]
powershellにはbuild toolないのか



995 名前:デフォルトの名無しさん mailto:sage [2018/09/14(金) 09:15:39.59 ID:u+Z35nAl.net]
Announcing PowerShell Core 6.1
https://blogs.msdn.microsoft.com/powershell/2018/09/13/announcing-powershell-core-6-1/

996 名前:デフォルトの名無しさん mailto:sage [2018/09/14(金) 10:16:47.60 ID:60Mnn9Dg.net]
これは朗報だ!
---------
AWS Lambda は PowerShell Core をサポートします
https://aws.amazon.com/jp/about-aws/whats-new/2018/09/aws-lambda-supports-powershell-core/

997 名前:デフォルトの名無しさん mailto:sage [2018/09/14(金) 12:28:03.19 ID:Z7a8n8W6.net]
6.1日本語使えない?

998 名前:デフォルトの名無しさん mailto:sage [2018/09/14(金) 13:01:26.89 ID:/Xr9NdPd.net]
>>954
PowerShellでWeb API作る需要あるのかな

999 名前:デフォルトの名無しさん mailto:sage [2018/09/14(金) 14:27:05.47 ID:60Mnn9Dg.net]
>>956
自分の場合だけど、Windows の EC2 インスタンスと連携するプログラムを Lambda 上で
作る案件がちょくちょくあって、これまでは Windows 上は PowerShell、Lambda のほうは
P{ython で作ることが多かった。
だけど自分のスキルのせいもあって、PowerShell と Python のコーディングを同時並行で進めると
色々と混乱することが少なくなかったのね。

# 両方 Python で作れば、と思うかもしれんけど、運用の手間を考えると、
# 追加でインストールするものはなるべく少なくしたい

それが、Lambda で PowerShell Core が使えるなら PowerShell で統一できるので、
個人的にすごく捗るな、と。

1000 名前:デフォルトの名無しさん mailto:sage [2018/09/16(日) 13:14:02.90 ID:16Y59QgZ.net]
class構文じゃなくて本物の型を定義したい場合にはAdd-Typeしかないのかな
GUI作るときにPSObjectがうまくデータバインドできなくて困った

1001 名前:デフォルトの名無しさん mailto:sage [2018/09/28(金) 12:50:16.79 ID:8vtXqMhV.net]
https://news.mynavi.jp/itsearch/article/hardware/4054
Powershell6.1で大分パフォーマンス上がったみたいね

パフォーマンス以外に起動も結構早くなった感じ

1002 名前:デフォルトの名無しさん mailto:sage [2018/09/28(金) 13:35:11.01 ID:oUAtTcYe.net]
Macだからかもしれない
Macでの実行環境は最適化する余地が大きく残ってたとかがあり得る
Windowsでどうかは比較してみないとなんとも

1003 名前:デフォルトの名無しさん mailto:sage [2018/09/28(金) 15:32:47.04 ID:ExWLpVS+.net]
psわざわざ入れるって無理だな
有り物使うだけだからOSアプデで付くのを待つしかない

1004 名前:デフォルトの名無しさん mailto:sage [2018/10/05(金) 17:32:43.04 ID:LWyIHUF+.net]
PowershellはOSによってプリインストールバージョン違うの地味に面倒だな
MS Updateで5.0までは強制的にアップデートしてくれないかな
客先のサーバでSQLモジュールも入って無くてInstall-moduleも入って無くてスクリプト使えなくて困ったわ



1005 名前:デフォルトの名無しさん mailto:sage [2018/10/05(金) 20:42:27.53 ID:OkuzM4NB.net]
今の10の1803ってバージョン何が入ってるの

1006 名前:デフォルトの名無しさん mailto:sage [2018/10/05(金) 21:07:07.34 ID:YbvjOj4C.net]
5.1

1007 名前:デフォルトの名無しさん mailto:sage [2018/10/06(土) 10:44:13.46 ID:fld0/WcD.net]
2.0ベースでなんとかするテクニックは必須ですよね

1008 名前:デフォルトの名無しさん mailto:sage [2018/10/06(土) 14:33:29.33 ID:gea8Zy97.net]
テクニックって程のものって何かある?
使える使えないの差ぐらいじゃないの

1009 名前:デフォルトの名無しさん mailto:sage [2018/10/06(土) 16:17:11.73 ID:J00E9zwo.net]
再来年1月にはPowershell2.0プリインストール環境が終了するから2.0に合わせた書き方

1010 名前:頑張る気力がイマイチ
Windows7とか2008R2は早く死んでくれないかな
[]
[ここ壊れてます]

1011 名前:デフォルトの名無しさん mailto:sage [2018/10/06(土) 16:48:11.63 ID:h/HmdYY4.net]
Windows7とか2008R2は最後のまともなバージョン

1012 名前:デフォルトの名無しさん mailto:sage [2018/10/06(土) 21:18:07.69 ID:MlTlM5yZ.net]
Windows 2000 Proが一番良かった。

1013 名前:デフォルトの名無しさん mailto:sage [2018/10/06(土) 23:10:20.08 ID:tgEP6apu.net]
>>967
SP1入れずに使ってる環境なんてほぼ無いだろ?なら4.0覚えときゃOK

個人的にはzipクラスがある4.5が望ましい

1014 名前:デフォルトの名無しさん mailto:sage [2018/10/06(土) 23:21:17.76 ID:SoS+Fgug.net]
とりあえず3.0以降じゃないとちょっと辛いイメージ



1015 名前:デフォルトの名無しさん mailto:sage [2018/10/07(日) 00:45:26.55 ID:/+/kkqPE.net]
何が辛いんだい
ほら言ってごらん

1016 名前:デフォルトの名無しさん mailto:sage [2018/10/07(日) 00:51:14.63 ID:KvcjzmFM.net]
3.0以降じゃないとPsCustomObject使えないとか、コマンドレット充実してなくてNETライブラリ使う羽目になって、もうこれC#で書いたほうが良くね?になるあたりかね

1017 名前:デフォルトの名無しさん mailto:sage [2018/10/07(日) 02:34:13.34 ID:MeohIHbL.net]
coreに移行して大分経ってからGet-ScheduledTaskとかのWindows専用っぽいコマンドレット無くなってるのに気付いた
まあこれはあんまり使わんしpowershell.exeで実行すりゃいいか

1018 名前:デフォルトの名無しさん mailto:sage [2018/10/07(日) 06:17:50.14 ID:mFTX0OZ0.net]
where-objectでフィルタをかける時、複数条件が必要な場合は
パイプでつなぐしかないですかね?andとかあればいいんですけど
where-object 条件1 | where-object 条件2

1019 名前:デフォルトの名無しさん mailto:sage [2018/10/07(日) 06:44:39.40 ID:MeohIHbL.net]
論理演算子はもちろんあります
-and -orなど

1020 名前:デフォルトの名無しさん mailto:sage [2018/10/07(日) 10:50:24.18 ID:VwaVbKnV.net]
>>975
サンプルだと
? {$arg -eq "test" -or $arg2 -eq "test"}
みたいな感じ
-使う演算子が繋がって違和感あるかもしれんけど

1021 名前:デフォルトの名無しさん mailto:sage [2018/10/07(日) 11:44:45.71 ID:I8sm2uyS.net]
そもそもカンマでcriteraの文字列を区切ればor指定になるのでは

1022 名前:デフォルトの名無しさん mailto:sage [2018/10/07(日) 21:44:12.84 ID:/+/kkqPE.net]
>>978
どゆこと?
$arg -eq "test1","test2"
とかやってもならないけど

1023 名前:デフォルトの名無しさん [2018/10/08(月) 20:48:01.10 ID:7Fv0bXJp.net]
パワーシェル内でパワーシェルを呼び出す時、どのパワーシェルの処理が成功してるか失敗してるかわかるようにログ出すのはどうすればいいんでしょうか?

1024 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 21:56:04.04 ID:sIA/07pT.net]
>>980
スクリプトの名前等を頭につけるとか



1025 名前:デフォルトの名無しさん [2018/10/08(月) 22:04:42.09 ID:7Fv0bXJp.net]
ごめん。全然わからん・・・

1026 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 22:05:00.95 ID:vQC6HMz5.net]
argsでIDを渡すとか
powershell -command { "ID: $($args[0])"} -args 777

1027 名前:デフォルトの名無しさん [2018/10/08(月) 22:19:23.32 ID:7Fv0bXJp.net]
バッチファイルみたいにリダイレクトではログ渡せないのかな?
2>1
みたいなかんじで?

1028 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 23:19:17.74 ID:nFrei6GD.net]
$?で前回のコマンドの実行結果
$lastexitcodeにexitコマンドで返された値が入る(呼び出したスクリプトはexitに戻り値を付けて終了させないとダメ)

$?だとスクリプト内の最後のコマンドの結果が帰るからスクリプトの作りによっては失敗の判定は出来ないのはバッチとかと一緒

1029 名前:デフォルトの名無しさん [2018/10/08(月) 23:24:06.69 ID:7Fv0bXJp.net]
なるほど
呼び出すスクリプト内にエラーコードで正常か異常か$?で判定させてそれをifかなんかで分岐させてエラーコードを呼び出し元のスクリプトの$lastexitcodeをehcoする感じですかね?

1030 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 23:32:12.23 ID:rY44Et0R.net]
>>979に答えてくれないか

1031 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 23:41:24.75 ID:GVMVzq1c.net]
>>980
成否判定ならこれでよくね

hoge.ps1

$hoge = $true
if($hoge){exit 1}
exit 0
-------------

$ps = Start-Pr

1032 名前:ocess hoge.ps1 -Wait -PassThru
switch($ps.ExitCode) {
0 {
"失敗"
}
1 {
"成功"
}
}
[]
[ここ壊れてます]

1033 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 23:44:14.86 ID:L+98sdt+.net]
「どの」を見落としてる

1034 名前:デフォルトの名無しさん [2018/10/08(月) 23:45:52.94 ID:7Fv0bXJp.net]
これを呼び出すスクリプト全部に書くってこと?
呼び出し元と先が複数あって、先を全部修正するのが大変なので出来れば元だけで完結させたい
が、無理そうなのでこれを全てに書いていく?



1035 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 23:55:10.73 ID:GVMVzq1c.net]
>>990
0で戻ってきたらokにでもすれば
いじらんで良いやろ

1036 名前:デフォルトの名無しさん mailto:sage [2018/10/09(火) 00:01:31.08 ID:G4IJkzod.net]
>>990
exitで成否を戻した方がしっかり判定できる
呼び出したスクリプトで何が発生したら失敗とするかをしっかり判定しないの?
結果コードでの判定とか曖昧すぎてトラブルの元と思う

1037 名前:デフォルトの名無しさん mailto:sage [2018/10/09(火) 00:57:32.40 ID:VXCTyrZC.net]
>>984
実際にやりたいことがわからないけどエラーメッセージをリダイレクトするだけなら同じようにできるよ
powershell ./hoge.ps1 2>>log.txt

1038 名前:デフォルトの名無しさん mailto:sage [2018/10/09(火) 03:31:08.27 ID:0K1bBeTL.net]
>>979
知らないけど、switch 文で、カンマを使うとか?

そういう意味じゃないの?

1039 名前:デフォルトの名無しさん mailto:sage [2018/10/09(火) 05:18:39.42 ID:06HomXwK.net]
>>979
-inならいけるけど、まあ違うんだろうな
dir | where { $_.name -in "a1.txt","a2.txt","b1.txt" }
$list = @( "a1.txt","a2.txt","b1.txt" )
dir | where { $_.name -in $list }

1040 名前:デフォルトの名無しさん mailto:sage [2018/10/09(火) 08:24:03.86 ID:2kAOJdzZ.net]
>>979
適当こいただけじゃないのかな
PSのカンマ演算子は配列を作り、配列の要素が複数なら内容問わず真になる
そもそもカンマでの結合はORなのかANDなのか意図が曖昧
仕様としても微妙だしバッドプラクティスに思える

1041 名前:デフォルトの名無しさん mailto:sage [2018/10/09(火) 17:47:31.12 ID:G4IJkzod.net]
次スレ
PowerShell -Part 3
mevius.5ch.net/test/read.cgi/tech/1539074808/

1042 名前:デフォルトの名無しさん mailto:sage [2018/10/09(火) 18:41:58.03 ID:iKGY38Kd.net]
>>997

前に同じ名前のスレが落ちてたけどこの板は保守が要るってことかな?

1043 名前:デフォルトの名無しさん mailto:sage [2018/10/09(火) 21:10:27.51 ID:PXd6fmY+.net]
>>994-997
ありがとう

1044 名前:デフォルトの名無しさん mailto:sage [2018/10/09(火) 21:31:03.39 ID:G4IJkzod.net]
(1..1000 |% {if ($_ -eq 1000) {write-output "1000 complete!"} else { write-output $_}}) -join " "



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

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






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

前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