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


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

PowerShell -Part 3



1 名前:デフォルトの名無しさん mailto:sage [2018/10/09(火) 17:46:48.32 ID:G4IJkzod.net]
前スレ
【最強CUI】PowerShell -Part 2
mevius.5ch.net/test/read.cgi/tech/1480109402/

641 名前:デフォルトの名無しさん mailto:sage [2019/02/26(火) 20:12:11.17 ID:c/a6AL8h.net]
>>606が警告してるのになんで相手するかな…

642 名前:デフォルトの名無しさん [2019/02/26(火) 20:20:24.56 ID:OWiOsoxx.net]
分からなくてどうしようもないから質問しているのに
要するにスクリプトの構文の意味から分かっていない

643 名前:デフォルトの名無しさん mailto:sage [2019/02/26(火) 20:43:08.57 ID:SZnduWSg.net]
いやPSのエラーは判り難いと思うね
そもそもコマンドライン置き換えたいなら日本語で出すべき

644 名前:デフォルトの名無しさん [2019/02/27(水) 06:31:25.86 ID:KDd7+K01.net]
>>618
UNIX系のシェルに比べたら圧倒的にわかりやすいでしょ

645 名前:デフォルトの名無しさん [2019/02/27(水) 07:06:27.77 ID:KDd7+K01.net]
>>617
みてると、まるきり一切調べようとせずに
出来上がったコーディング教えろという
感じですよね

しかも、PowerShellだけでなく、使用するユーティリティーに
ついてもどちらもまるきり分らないし調べないでの質問。

646 名前:デフォルトの名無しさん mailto:sage [2019/02/27(水) 07:58:43.59 ID:9BuZTaoV.net]
やる気なく、能力も無いと漏らしてるクセに辞退もせず、数ヶ月居座ろうという腹です。
後任に苦労かけるだけ。正常な社会人の要件まとめ能力、調査能力すら失ってるのは精神病としか思えないため、はやく病院に行けと勧めてます

647 名前:デフォルトの名無しさん mailto:sage [2019/02/27(水) 21:51:13.40 ID:KyKRLtdw.net]
数十GBのバイナリファイルを2GB毎に分割したいのですがpowershellで効率よい方法あったら教えてください
C#コード埋め込みでも可です

648 名前:デフォルトの名無しさん mailto:sage [2019/02/28(木) 14:47:18.94 ID:jurbU8zc.net]
>>622
GNUの split コマンドでええんちゃう?
$ split -d -b 2G src dst.

こんな感じに分割される。
dst.01
dst.02
...
dst.99

結合は、
$ cat dst.* > dst
で終わり。

649 名前:デフォルトの名無しさん mailto:sage [2019/02/28(木) 16:39:52.64 ID:bHx/l7mF.net]
>>622
https://stackoverflow.com/questions/4533570/in-powershell-how-do-i-split-a-large-binary-file
に良さげなサンプル関数作ってくれてる奴居るよ



650 名前:デフォルトの名無しさん mailto:sage [2019/02/28(木) 21:16:57.85 ID:VwWxMUG7.net]
ありがたごましうた

651 名前:デフォルトの名無しさん mailto:sage [2019/02/28(木) 22:01:42.89 ID:FWfO9yYH.net]
>>620
なんか日本語ちょっとおかしいし、日本人じゃないのかもな

652 名前:デフォルトの名無しさん [2019/03/01(金) 00:11:45.93 ID:GEdFntp5.net]
byeとか再

653 名前:ゥとか毎回言う外国人居る?? []
[ここ壊れてます]

654 名前:デフォルトの名無しさん [2019/03/01(金) 05:49:41.07 ID:vonrkHCa.net]
『Youは何しにPowerShellに』の撮影かな?

655 名前:デフォルトの名無しさん [2019/03/01(金) 15:20:53.71 ID:o7q1IFCw.net]
powershellでチャットできないですか?

656 名前:デフォルトの名無しさん mailto:sage [2019/03/02(土) 09:51:56.69 ID:iF6Iyi4r.net]
Manage chat rooms in Persistent Chat Server in Skype for Business Server 2015
https://docs.microsoft.com/en-us/skypeforbusiness/manage/persistent-chat/chat-rooms

657 名前:デフォルトの名無しさん mailto:sage [2019/03/02(土) 12:30:51.54 ID:k1Nl7LaS.net]
>>630
ありがとう。結局サーバー借りた方が楽ですね。
あとtermsとかも無料だし使えそう。
pcからpcってリモデス使用でできそうですね。
なかなか勉強になりますわ。

658 名前:デフォルトの名無しさん mailto:sage [2019/03/02(土) 17:10:56.38 ID:J6Ykyvz8.net]
最近プログラムでわからないことググるとQiitaってサイトがやたら出てくるなと思ってたら
いつの間にか日本最大のプログラマーコミュニティになってたんだな
www.sbbit.jp/article/image/32877/l_bit201611081621450925.jpg

659 名前:デフォルトの名無しさん mailto:sage [2019/03/21(木) 21:13:15.16 ID:Kce5LZBI.net]
>>570
業務でps1ファイルを大量に使ってるような現場だと
今後標準のテストツールとして採用するところが増えそうだね



660 名前:デフォルトの名無しさん mailto:sage [2019/03/23(土) 14:31:45.42 ID:zukmvcaU.net]
>>632
調べ物があってググると結構な確率で Qiita でヒットするけど、
「初心者がとりあえずやってみた系」「自分だけが理解できる作業メモ系」が
大部分で、間違ってることも少なくない。
(日本語の IT 系個人ブログの大多数がそうだとも言えるが)

なので、最近はググる際のキーワードは極力英語のみにして、
海外のコンテンツから優先して探すようにしてる。

661 名前:デフォルトの名無しさん mailto:sage [2019/03/23(土) 15:05:59.87 ID:AczqyFo9.net]
俺は最初は日本語かな
日本語なら数秒で記事全体を眺めて概要と筆者の腕前を判定できる
そこからちゃんと読むか次のサイトを見るかの見極めが楽
英語だと仮に真実を語っててもそれが期待してた内容と違う場合にそれに気付くまで少し時間がかかる
そもそも英語でも間違ってる記事は少なくない

662 名前:デフォルトの名無しさん mailto:sage [2019/03/23(土) 18:54:02.90 ID:sans/OC7.net]
Qiitaが云々っていうより、最近のgoogleで上位に来るのはgoogleのアフリエイトが
使われているものが優先されていて、特に意図的にアフリエイトだけが目的の
コピペサイトが上位に来るので検索エンジンとして役に立たなくなってきてる

まぁ、キーワードうまく絞れば見つかることも多いし、なれと面倒くささも手伝って
google日本語2ページ、google英語2ページ、bing、duckduckgoって感じで最近は
検索してるかな

663 名前:デフォルトの名無しさん mailto:sage [2019/03/23(土) 18:57:03.05 ID:sb/buXjf.net]
euの脅しのお陰でchromeのデフォルト検索エンジンにduckduckgo選べるようになってるなw

664 名前:デフォルトの名無しさん mailto:sage [2019/03/23(土) 20:27:48.56 ID:9w+Nt8ul.net]
>>634
第三者の情報を利用しているのに、
コミュニティなんだから、自分で精査すればいいだけ。
その手間もおしいとか?w

665 名前:デフォルトの名無しさん mailto:sage [2019/03/23(土) 21:48:53.64 ID:PK70pzz9.net]
>>636
マップもぶっ壊れてるしgoogle落ち目だな

666 名前:デフォルトの名無しさん mailto:sage [2019/03/24(日) 13:06:39.33 ID:0UFOFyyE.net]
euは一体

667 名前:何様なんだ? []
[ここ壊れてます]

668 名前:デフォルトの名無しさん mailto:sage [2019/03/25(月) 03:07:23.90 ID:UZnjqkvB.net]
ConvertFrom-Csv って、#で始まる行はスキップしてくれるのかな?

Get-Content .\list.txt -Encoding UTF8
url1 file1
#url2 file2
url3 file3

Get-Content .\list.txt -Encoding UTF8 | ConvertFrom-Csv -Delimiter " "
url1 file1
url3 file3

これって、ヘルプに見当たらないんだけど、何かのオプションの初期値で決まってるの?
# PSVersion 5.1.17763.316
https://docs.microsoft.com/en-us/powershell/module/Microsoft.PowerShell.Utility/ConvertFrom-Csv?view=powershell-5.1

669 名前:デフォルトの名無しさん mailto:sage [2019/03/25(月) 05:27:00.32 ID:jHLU9O87.net]
>>641
調べたらコメントとして処理してるわけでもなくてパイプライン入力だと#Typeとかいうよくわからない識別子の判定時に捨てられてるようだ
https://github.com/PowerShell/PowerShell/blob/master/src/Microsoft.PowerShell.Commands.Utility/commands/utility/CSVCommands.cs#L1353
なので一つの文字列として渡すと無視できる

$a = Get-Content .\list.txt -Encoding UTF8
$a -join "`n" | ConvertFrom-Csv -Delimiter " "

あとパイプラインでも改行が\nのみだと挙動が変わったりするけどバグなんじゃないのこれ



670 名前:641 mailto:sage [2019/03/25(月) 15:55:58.17 ID:UZnjqkvB.net]
>>642
おー、ありがとう(*^▽^*)
確かに Raw オプションで読み込むとスキップされなかった。
Get-Content .\list.txt -Encoding UTF8 -Raw | ConvertFrom-Csv -Delimiter " "

Export-CSVがデフォルトで出力する型情報を無視するようにっていう意図なのかな?
#TYPE System.Management.Automation.PSCustomObject

"#TYPE"始まりを無視しようとして "#"始まりを無視しちゃダメな気がするけど...(´・ω・`)

671 名前:デフォルトの名無しさん mailto:sage [2019/03/25(月) 21:10:47.02 ID:E8OEO5vB.net]
powershell謹製の定型入出力処理って大抵どっかが糞だよな
C#でさくっとコード埋め込んだ方が速い

672 名前:641 mailto:sage [2019/03/26(火) 03:30:50.37 ID:7kgkCpnE.net]
>>643
あ、違うか。 >>642 の言う通り、#TYPEの判定時に捨てられちゃってるんだね。
#始まりで#TYPEだったら型情報を返すけど、そうじゃなかったらnullにしちゃってるから#始まりは(#TYPE以外)一律落ちちゃうってことか。
型情報以外の#はコメントだから落とそうという意図なのか、意図せずなのかはよくわかんないけど。

673 名前:デフォルトの名無しさん mailto:sage [2019/03/26(火) 07:15:12.47 ID:yaU1CQab.net]
そういう場合はコメント扱いか将来の予約用として設計するケースが多いかな
癖のある部分がしっかりドキュメント化されてるといいんだけどね

674 名前:デフォルトの名無しさん mailto:sage [2019/03/27(水) 00:37:50.64 ID:Y2V1g2tl.net]
ドキュメント化されてない糞言語機能なんて使えんわな

675 名前:デフォルトの名無しさん mailto:sage [2019/03/29(金) 08:30:26.38 ID:CjsaVqOU.net]
General Availability of PowerShell Core 6.2
https://devblogs.microsoft.com/powershell/general-availability-of-powershell-core-6-2/

676 名前:デフォルトの名無しさん mailto:sage [2019/03/29(金) 12:30:11.33 ID:N4KkVZCo.net]
>>648
Microsoft Update で pwsh のアップデートが提供される、ってのはいつになるのかね

677 名前:デフォルトの名無しさん mailto:sage [2019/04/06(土) 09:01:31.22 ID:d6ZNnt3i.net]
The Next Release of PowerShell - PowerShell 7
https://devblogs.microsoft.com/powershell/the-next-release-of-powershell-powershell-7/

678 名前:デフォルトの名無しさん mailto:sage [2019/04/06(土) 10:23:45.60 ID:DpBRf5ef.net]
>>650
Windows PowerShellとPowerShell Coreが統合されるのか

679 名前:デフォルトの名無しさん mailto:sage [2019/04/06(土) 18:19:21.57 ID:VUIBvQ2c.net]
.NET使えたりC#埋め込めるってだけでps自体には何も魅力を感じない



680 名前:デフォルトの名無しさん mailto:sage [2019/04/06(土) 19:36:51.47 ID:YyWMpA9h.net]
なら、こんなスレ見るのやめたら?

681 名前:デフォルトの名無しさん [2019/04/07(日) 07:15:21.58 ID:WD9Sfyky.net]
>>651
当初からの既定路線です

682 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 11:08:35.13 ID:gun2agJ4.net]
>>652
C#

683 名前:スクリプトでも使ってろよ

https://msdn.microsoft.com/ja-jp/magazine/mt614271.aspx
[]
[ここ壊れてます]

684 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 21:27:45.92 ID:KO8gpU7g.net]
良かった
これでわざわざコアを入れなくてもWindowsデフォルトのPSがメンテされるのかな?
本家であるWindowsデフォルトのPSを冷遇するMSに腹が立ってたんだ

685 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 14:15:31.94 ID:flU0/mvo.net]
オブジェクト指向(class、Add-Member)はあまり使わないのかな?

686 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 19:02:08.74 ID:sE/xXtkV.net]
それらを即ちオブジェクト指向ってまとめられると語弊があるけど
PowerShellでわざわざクラスをつくるメリットがあまりないんで使わないかな
C#側で作ってそれを利用するモジュールはよく見かける
PowerShellでつかうんならメソッド生やすよりパイプ入力に対応した関数を作ったほうがそれらしいから

687 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 21:12:55.80 ID:BZrWgE85.net]
Coreもデフォでインストールして欲しいんだが。

予定あるのかね。

688 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 21:33:20.59 ID:GoiTTqTj.net]
>>657
classはわかるけどオブジェクト指向とAdd-Memberになんの関係が?

689 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 23:22:18.02 ID:zFFjnYPT.net]
>>660
バージョン古いとAddMenberなしで振る舞い定義できんやん



690 名前:デフォルトの名無しさん mailto:sage [2019/04/09(火) 06:55:48.14 ID:WguqqX2K.net]
>>661
ああ、そういう意味か
その時代は構造体代わりにAdd-Member使う程度だったな
class使えるようになってからは普通にオブジェクト指向って言うか他の言語と変わらん程度には使う

691 名前:デフォルトの名無しさん mailto:sage [2019/04/09(火) 18:59:23.20 ID:W7MAWXJx.net]
標準搭載になる予定みたいね。

マイクロソフト、「PowerShell 7」を発表--5月にプレビュー版を公開へ
https://japan.zdnet.com/article/35135464/

692 名前:デフォルトの名無しさん mailto:sage [2019/04/12(金) 09:48:45.13 ID:FkqjpuHe.net]
PowerShell Core 6.2 の新機能
https://docs.microsoft.com/ja-jp/powershell/scripting/whats-new/what-s-new-in-powershell-core-62

693 名前:デフォルトの名無しさん mailto:sage [2019/04/13(土) 11:52:50.01 ID:agvTDDTm.net]
2019年人気&嫌われプログラミング言語ランキング- Stack Overflow
https://news.mynavi.jp/article/20190412-807191/

「Bash/Shell/PowerShell」とひとくくりにされていることに激しく違和感

694 名前:デフォルトの名無しさん mailto:sage [2019/04/13(土) 22:04:36.80 ID:cCi57egk.net]
PS単体だと空気だし

695 名前:デフォルトの名無しさん mailto:sage [2019/04/14(日) 10:51:28.73 ID:x8HUstxk.net]
俺達のbashが空気だっていうのか!

696 名前:デフォルトの名無しさん mailto:sage [2019/04/18(木) 08:38:59.87 ID:19FvTfVH.net]
リモートで各Windowsサーバのhostsファイルのメンテナンスをしたいのですが、いいサンプルなどはありませんでしょうか?

697 名前:デフォルトの名無しさん mailto:sage [2019/04/18(木) 08:59:31.67 ID:JGuMcupo.net]
サンプルもクソもないだろ…hostsファイル更新は管理権限が必須、それだけの話

698 名前:デフォルトの名無しさん [2019/04/19(金) 07:26:06.94 ID:gmGy9oTC.net]
ls -name | ruby -ne 'puts $_.center(20, "-")'

これは、Linux では問題ないけど、
Windows のPowerShell で実行すると、Ruby の文法エラーになる

これで、ダブルクォーテーションをエスケープすると、正常に動く。
\"-\"

どういう事?
" は、Rubyに渡る際に、何かに変換されてしまうのか?

エスケープしない書き方は、出来ますか?

699 名前:670 mailto:sage [2019/04/19(金) 07:41:35.36 ID:gmGy9oTC.net]
自己解決した!

ls -name | ruby -ne 'puts $_.center(20, "-")'

"-" の部分を、Ruby の% 記法で囲んで、%Q("-") としたら正常に動いた

%Q で、ダブルクォーテーションをエスケープできる。
\"-\"

ただし、Linux では囲んではいけない



700 名前:デフォルトの名無しさん mailto:sage [2019/04/19(金) 08:20:04.25 ID:pitW5bfl.net]
朝からrubyガイジ登場か

701 名前:デフォルトの名無しさん mailto:sage [2019/04/19(金) 23:14:36.12 ID:XlmULy2Z.net]
PS起

702 名前:動が重すぎてとうとうクレームが来た []
[ここ壊れてます]

703 名前:497 mailto:sage [2019/04/20(土) 15:08:25.44 ID:59Xq7wbj.net]
Win10_1809 のマシンを新規セットアップ中に気がついたんだが、format-table で
多バイト文字が含まれるデータを表示しても表組みがズレなくなってるな。
https://i.imgur.com/wizludw.png

1809 の改良点かと思って別の 1607 も見てみたら、こちらでもズレなくなってるわ。
Windows Update でいつの間にか修正されてたらしい。良かった、良かった。

704 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 19:17:44.43 ID:gHzm7Vzg.net]
ps1を別のps1から実行したとき、呼び出したps1の標準出力を呼び出し元のps1で取得する方法ってありますか?
$LASTEXITCODEとか$?には当然入らないですよね

705 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 22:12:38.92 ID:BGbzUadU.net]
普通に取得できるけど
どうやって呼び出してんの?

706 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 22:27:38.00 ID:gHzm7Vzg.net]
A.ps1が呼び出されるps1としてB,ps1で

.\A.ps1

としてるだけなのですが、どう取得すれば良いのでしょう?

A.ps1の中身は例えばこんな感じの標準出力を吐き出してるだけ
Write-Host "test"

707 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 22:29:25.41 ID:BGbzUadU.net]
Write-Hostは画面に表示するだけ
出力するならWrite-Outputか、そもそもPowerShellでは勝手に出力されるから
"test"
とするだけでいい

708 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 22:35:29.57 ID:gHzm7Vzg.net]
標準出力を取得したいんですよね
A.ps1はいじれないので

709 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 22:46:00.75 ID:BGbzUadU.net]
だからWrite-Hostは標準出力じゃないって言ってるんだが



710 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 22:46:19.99 ID:gHzm7Vzg.net]
Write-Hostだと標準出力ですらなくて取得出来ないってことなのかしら?
Write-OutputだとB.ps1側で変数に格納する場合どうすれば?

711 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 22:51:17.48 ID:BGbzUadU.net]
標準出力されるなら普通に変数に入れればいいんで
$a = .\A.ps1
とすればいいよ
Write-Hostで出力しようとするスクリプト書いた奴が馬鹿なんだから変えるしかない

712 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 22:52:47.85 ID:gHzm7Vzg.net]
あー、普通にいけるね
Write-Hostで書かれてるから上手くいってなかったのか
ありがとうございました

713 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 11:07:01.93 ID:vucDkGbp.net]
>>677
$a = . .\A.ps1 6>&1
で取得できる、使ってるPowerShellのバージョンにもよるけど

714 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 15:12:23.52 ID:DYRtR1tP.net]
>>684
試したところ確かに取得出来ました
2>&1は試していたのですが、6>&1とは初めてみました
6がコンソールなのかな?
助かりました、ありがとうございます

715 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 19:32:10.42 ID:RVTtJDMW.net]
<Japan>
 <Tokyo>
  <Shinjuku Area="Nishi" Type="Kusai"/>
  <Shinjuku Area="Kabuki" Type="Kitanai"/>
  <Shinjuku Area="Okubo" Type="Ikoku"/>
 </Tokyo>
</Japan>

こういうXMLの場合、Type="Kitanai"の子要素があるAreaを取得するにはどうすればいいの?

716 名前:デフォルトの名無しさん [2019/04/21(日) 20:01:09.97 ID:RCGv90ei.net]
$xml = [xml]'<Japan>
 <Tokyo>
  <Shinjuku Area="Nishi" Type="Kusai"/>
  <Shinjuku Area="Kabuki" Type="Kitanai"/>
  <Shinjuku Area="Okubo" Type="Ikoku"/>
 </Tokyo>
</Japan>'

$xml.Japan.Tokyo.Shinjuku |
  Where-Object {$_.Type -eq 'Kitanai'} |
  Foreach-Object {$_.Area}

とか?

717 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 20:31:15.57 ID:jwyOkte1.net]
>>686
powershell XPath
でググると色々情報が得られるでしょう

718 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 21:24:14.09 ID:aMzGc0Ck.net]
//Japan/Tokyo/Shinjuku[@Type='Kitanai']

こうかな?
まあ、検索して!

jQuery で、CSS Selector なら、
Japan > Tokyo > Shinjuku[Type="Kitanai"]

719 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 23:45:42.71 ID:SQdQ4J0R.net]
xml要素って順序木ってわけでもないから結局forで回すしかないんかね



720 名前:689 mailto:sage [2019/04/22(月) 13:01:10.79 ID:A5Rqz7hQ.net]
Ruby のNokogiri では、該当する要素数が0, 1, 複数で、異なる書き方をする。
例えば、該当する最初の1つの要素だけを欲しい場合は、at_css みたいに、at を付ける

jQuery では、それらのすべてで、配列を返すように統一されている

>>689
>//Japan/Tokyo/Shinjuku[@Type='Kitanai']

これは、XPath

721 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 15:02:53.67 ID:3J9RCiSz.net]
Select-Xml -xml file "/tokyo/shinjuku/[@type='kusai']"
>>691
またrubyガイジの独り言

722 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 17:18:16.81 ID:KTQxmf3k.net]
>>691
糞にまみれて死ね

723 名前:デフォルトの名無しさん mailto:sage [2019/05/07(火) 04:02:54.07 ID:aR2V8MII.net]
Microsoft unveils Windows Terminal, a new command line app for Windows
https://www.theverge.com/2019/5/6/18527870/microsoft-windows-terminal-command-line-tool

724 名前:デフォルトの名無しさん mailto:sage [2019/05/07(火) 04:35:30.79 ID:aR2V8MII.net]
The new Windows Terminal
https://www.youtube.com/watch?v=8gw0rXPMMPE

725 名前:デフォルトの名無しさん mailto:sage [2019/05/07(火) 09:29:44.47 ID:uoqudFNG.net]
>>694
素晴らしい!けど、20年前にやってほしかったな・・・。

726 名前:デフォルトの名無しさん mailto:sage [2019/05/07(火) 12:36:36.82 ID:p0H+1JvB.net]
powershell7と.NET5で大分見通しが良くなるな

727 名前:デフォルトの名無しさん mailto:sage [2019/05/07(火) 12:40:22.14 ID:ZCZ3c4oa.net]
ん?
大分とpowershellが関係あるのか?

728 名前:デフォルトの名無しさん mailto:sage [2019/05/07(火) 12:47:57.26 ID:uoqudFNG.net]
>>698
大分県で開発者会議が予定されてる

729 名前:デフォルトの名無しさん mailto:sage [2019/05/07(火) 12:59:48.38 ID:Ok8kB8ur.net]
漫才かw



730 名前:デフォルトの名無しさん mailto:sage [2019/05/07(火) 19:37:55.51 ID:T//WWibe.net]
すべってるぞ。
おお痛!なんちゃって。

731 名前:デフォルトの名無しさん [2019/05/08(水) 07:32:11.87 ID:m3CbCT8F.net]
Windows PowerShell ISE なら
$Error[0]. できちんとインテリセンスの候補が出てくるんだけど
PowerShell Core だと配列と勘違いしたままの候補を出してきます。

何か設定しないといけないのかそういう不具合なのかどちらでしょうか

732 名前:デフォルトの名無しさん mailto:sage [2019/05/08(水) 22:29:50.31 ID:VmC21Scz.net]
ISEとコンソールは動作がかなり異なる
不具合と言ってよい

733 名前:デフォルトの名無しさん mailto:sage [2019/05/10(金) 15:15:49.46 ID:cKAyPz2z.net]
PowerShell をしばらく使い込んでから久しぶりに bash とかの Shell script をいじると、ものすごく原始的に感じる。
原理主義者から罵声を浴びそうだけど。

734 名前:デフォルトの名無しさん mailto:sage [2019/05/10(金) 15:21:30.53 ID:j4eHz/16.net]
bashは速い、コマンド短い、リナ鯖でデフォで動くのでpsとは使い道が違うかな

735 名前:デフォルトの名無しさん mailto:sage [2019/05/13(月) 23:26:25.83 ID:hyOZOxip.net]
もっさもさのゴミ

736 名前:デフォルトの名無しさん mailto:sage [2019/05/14(火) 21:36:16.08 ID:Umyq8Om1.net]
速度が重要な処理はスクリプトじゃなくてC言語で書けばいいんだよ

737 名前:デフォルトの名無しさん [2019/05/17(金) 23:14:58.14 ID:84kT7PGy.net]
そもそもLinuxの場合はスクリプトないと使い物にならないという問題があるから。

738 名前:デフォルトの名無しさん mailto:sage [2019/05/18(土) 09:08:41.54 ID:CdqDIO7E.net]
バイトストリームしかないくせにテキスト至上主義とか言ってるのはギャグなんだろうか

739 名前:デフォルトの名無しさん mailto:sage [2019/05/21(火) 17:37:00.04 ID:nuXn2mIW.net]
sample.csv
---------
A,B,C,D,E
あ,いう,えおか,きくけこ,さしすせそ


Get-Content sample.csv | ConvertFrom-Csv | Format-Table
Get-Content sample.csv | ConvertFrom-Csv | Format-Table | Out-File sample.txt

コンソール画面ではレイアウトは正常なのに、Out-Fileすると半角全角違いの影響なのかレイアウトが崩れてしまう。
コンソール画面のとおりにテキスト出力する方法ありませんか?



740 名前:デフォルトの名無しさん mailto:sage [2019/05/21(火) 18:05:39.20 ID:1dtSHonA.net]
コンソールは座標決め打ちできるからじゃねーの
外人がマルチバイトの事なんか考慮してるわけねーよ

741 名前:デフォルトの名無しさん mailto:sage [2019/05/21(火) 18:23:53.35 ID:1jccaJmM.net]
帳票整形に異常なまでに神経を使うのは日本だけ

742 名前:デフォルトの名無しさん [2019/05/21(火) 18:34:34.88 ID:5U/ewrLb.net]
Excelでも使っとけ

743 名前:デフォルトの名無しさん mailto:sage [2019/05/22(水) 05:48:45.20 ID:okzMK2Wd.net]
>>712
しがない派遣な俺はそういうとこ気使わんとすぐ切られちまうのよ

744 名前:デフォルトの名無しさん [2019/05/22(水) 07:11:49.10 ID:62koVQSH.net]
もうやだこの国

745 名前:デフォルトの名無しさん [2019/05/22(水) 11:47:23.28 ID:F+bTsM9Q.net]
そもそも表作るためのソフトじゃないやろ
そういうソフトを組み込むのは簡単ちゅう代物
そこを生かさないとね

746 名前:デフォルトの名無しさん mailto:sage [2019/06/04(火) 11:05:53.37 ID:PR65wrLt.net]
v6.1.4
https://github.com/PowerShell/PowerShell/releases/tag/v6.1.4
v6.2.1
https://github.com/PowerShell/PowerShell/releases/tag/v6.2.1

747 名前:デフォルトの名無しさん mailto:sage [2019/06/04(火) 20:36:15.02 ID:BylyrmWo.net]
>>717
update-pwsh みたいなコマンドレットでアップデートできるようにならんかのう

748 名前:デフォルトの名無しさん mailto:sagew [2019/06/04(火) 21:01:40.96 ID:bsTOoaq8.net]
>>718
https://chocolatey.org/packages/pwsh

749 名前:デフォルトの名無しさん mailto:sage [2019/06/05(水) 15:44:43.15 ID:FhACL5FX.net]
chocolateyはpowershellモジュール版もあるけど通常版とは別管理になるのが惜しい
普通に通常版使っといた方が楽なのはわかるんだがコマンド脱却してコマンドレットだけにしたくなる



750 名前:デフォルトの名無しさん mailto:sage [2019/06/11(火) 20:56:21.53 ID:ziX2s9yQ.net]
非推奨になったSend-MailMessageを使えって、ホントに正しい?

その知識、ホントに正しい? Windowsにまつわる都市伝説(137):
Windows Server標準のメール通知の機能不足は「Send-MailMessage」コマンドレットで解決!
https://www.atmarkit.co.jp/ait/articles/1906/11/news006.html

751 名前:デフォルトの名無しさん [2019/06/11(火) 21:01:49.48 ID:6DBwhRzC.net]
Powershellクラスタが騒いでたのはこれか

752 名前:デフォルトの名無しさん mailto:sage [2019/06/12(水) 09:43:55.62 ID:kgH69nQx.net]
>>721
4年前の案件では Net.Mail.SmtpClient() を使って処理したな。理由は忘れた。
ところで、非推奨って話の情報源はどちら?探せなかった。

753 名前:デフォルトの名無しさん mailto:sage [2019/06/12(水) 09:51:22.78 ID:jw1ViI3v.net]
>>723
そのSmtpClientが非推奨になってSend-MailMessageもSmtpClien使ってるから廃止しようってことらしい

https://github.com/PowerShell/PowerShell-RFC/blob/7c0ba6068e5ac00cec0f69d92923d210c05b24f5/1-Draft/RFCXXXX-Send-MailMessage.md

754 名前:デフォルトの名無しさん mailto:sage [2019/06/12(水) 16:39:19.29 ID:kgH69nQx.net]
>>724
なるほど〜、これからは MailKit が推奨ってことね。ありがとう。

>>721 だけど、OS 標準機能だけでお手軽に、手っ取り早く SMTP AUTH や
SMTP over SSL でアラートメールを送信するだけなら「アリ」だと思うね。
要するに、「要件次第」。

755 名前:デフォルトの名無しさん [2019/06/13(木) 12:15:28.51 ID:p0mjXhjx.net]
質問します

WindowsServer2012R2をWin10からリモートで使っています。

get-ExecutionPolicyは
RemoteSigned

スクリプトは例えばこんな感じです
test.ps1
$AA=Read-Host "入力"

PowerShellSEからtest.ps1は実行成功。
PowerShellを起動し./test..ps1で実行成功。
エクスプローラーからtest.ps1を右クリックからPowerShellで起動しようとすると
一瞬PowerShellが起動するが何も実行されず終了。

どの辺を修正すればよいかアドバイスをいただけますでしょうか

756 名前:デフォルトの名無しさん mailto:sage [2019/06/13(木) 23:02:42.88 ID:UGCqyxPq.net]
>>726
リモート

757 名前:デスクトップ試せないけど、とりあえずリモート先のイベントログ見たら?
ローカルなら
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -file ps1フルパス名 -Command if((Get-ExecutionPolicy ) -ne AllSigned) { Set-ExecutionPolicy -Scope Process Bypass }
が実行されるけどね
[]
[ここ壊れてます]

758 名前:デフォルトの名無しさん [2019/06/16(日) 19:28:37.13 ID:sa5lhoiI.net]
-Recurseって、ForechObjectのLazy評価と相性悪いのね。

759 名前:デフォルトの名無しさん [2019/06/18(火) 06:16:59.21 ID:3nOE2mBA.net]
プログラム板にキチガイ降臨中!botに一晩も反応する異常さ
一般人(学校恩師)に殺害予告をしているのでスレ建て通報してください。
https://mevius.5ch.net/test/read.cgi/tech/1559872586/

142 名前:a4 ◆700L1Efzuv 投稿日:2019/06/18(火) 05:29:55 ID://qVkzO
>>141
名古屋の人な 俺ね、君の問題を大橋先生と混ぜないことにする。つまりね、
片桐孝洋のことをボコろうと思う。普通に顎の骨を折る。これくらいで警察来るか?
一般市民とかさ、普通にさ、俺らの秘密なんだけどさ、日本人なんて復活ねーから。



760 名前:デフォルトの名無しさん mailto:sage [2019/06/19(水) 19:17:38.02 ID:TWs5Iott.net]
VBAからPowerShell呼びたいのだがシェルコマンドとして実行するしかないのかね?
C#だとSystem.Management.Automationが使えるがCOMじゃないのだよねコレ

761 名前:デフォルトの名無しさん mailto:sage [2019/06/22(土) 01:23:30.12 ID:3TgqxsPN.net]
>>730
VBA詳しくないから合ってるか知らないけど、ExecPowerShellコマンドは使えるんでない?

762 名前:デフォルトの名無しさん mailto:sage [2019/06/22(土) 13:27:06.92 ID:DZJ/hc7X.net]
シェルコマンドの何が不満なのかさっぱり

763 名前:デフォルトの名無しさん mailto:sage [2019/06/24(月) 23:49:52.33 ID:+JWJYT3O.net]
以下の Data.txt と Format.txt がある状態で<実行結果>を得るにはどのようなスクリプトを書けば良いのでしょうか?
Get-Contentを使うのだと思うのですが、改行の入れ方がよくわかりません。


<Data.txtの内容>
1111111111abcde2223333333

<Format.txtの内容>
10
5
3
7

<実行結果>
1111111111
abcde
222
3333333

764 名前:デフォルトの名無しさん mailto:sage [2019/06/25(火) 00:37:21.55 ID:crlTuLoY.net]
ひどいレベルの低さだな、変数と代入と展開だけ。試行錯誤すれば5分で答えでるだろ。

765 名前:デフォルトの名無しさん mailto:sage [2019/06/25(火) 10:30:56.60 ID:oiRmP0Xi.net]
教育問題は自分で考えて解かないと意味が無いよ

766 名前:デフォルトの名無しさん mailto:sage [2019/06/25(火) 12:26:30.04 ID:z/YFlONv.net]
>>733
テストしてない
https://pastebin.com/Gb69xRW7

まずは何でもかんでもgetType()してみる癖をつける事から

767 名前:デフォルトの名無しさん mailto:sage [2019/06/25(火) 17:28:39.42 ID:NjnEAwoB.net]
$s = "1111111111abcde2223333333"
10,5,3,7 | % { $n = 0 } { $s.Substring($n, $_); $n += $_ }

768 名前:733 mailto:sage [2019/06/25(火) 21:04:00.53 ID:SYrWEeYW.net]
>>736
わざわざありがとうございます!
ちょっと動かし方を確認してから動かしてみます。

>>737
そのままPower Shellウインドウに貼り付けたら>>733の<実行結果>を得ることができました。
私には高度ですが調べてみます。ありがとうございます。

>>734-735
Power Shellを始めたばかりなんで一旦ベテランの方の回答を見させてもらおうと考えてしまいまして…
とりあえず頂いた回答を全力で分析します。

769 名前:デフォルトの名無しさん mailto:sage [2019/06/28(金) 2 ]
[ここ壊れてます]



770 名前:2:35:51.43 ID:7dQVY7x3.net mailto: >>736
今どきはこんな便利なソース貼り付けサイトがあるんだなあ
[]
[ここ壊れてます]

771 名前:デフォルトの名無しさん mailto:sage [2019/06/29(土) 00:07:50.83 ID:rLR7TtJ0.net]
Pastebinは相当前からあったけど・・・

772 名前:デフォルトの名無しさん mailto:sage [2019/06/29(土) 06:29:56.03 ID:G7+AZKsr.net]
Qiita、GitHub、teratailでもpastebinモジュールが中で使われてるよね、でもpastebin.comは単体で便利

773 名前:デフォルトの名無しさん [2019/07/01(月) 12:57:19.36 ID:fiA0UtsU.net]
>>739
ただのGistのパクリなんだが。。

774 名前:デフォルトの名無しさん mailto:sage [2019/07/01(月) 14:19:02.73 ID:O1pDJEnN.net]
Ruby で作った

str = "1111111111abcde2223333333"

nums = <<"EOT".lines( chomp: true ).map( &:to_i ) # 数字の配列。改行は削除
10
5
3
7
EOT
#=> [10, 5, 3, 7]

i = 0
nums.each do |num|
puts str[ i, num ] # 位置i から、num個の文字列
i += num
end

775 名前:デフォルトの名無しさん mailto:sage [2019/07/01(月) 14:41:57.11 ID:YzHO/9WR.net]
>>743
どうでもいい

776 名前:デフォルトの名無しさん mailto:sage [2019/07/01(月) 16:21:19.60 ID:MoEwNeEz.net]
>>743
死ね

777 名前:デフォルトの名無しさん [2019/07/02(火) 21:03:55.04 ID:IFMrsVTJ.net]
教えてくださいエロい方
初心者なりに頑張ってwpfでxmlデータをツリー表示させたのですが、
テンプレートで定義したボタンにクリックイベントをつける方法がわかりません・・

@見た目:       xaml
Aデータテンプレート: TreeViewのhierarchicalDataTemplate(xaml)
Bデータソース: xmlをxmlDataProviderに読み込んでAにバインド (起動時コード)

アドバイスをお願いします。

778 名前:デフォルトの名無しさん mailto:sage [2019/07/02(火) 21:36:19.03 ID:uMGeffjZ.net]
jQuery なら、後から追加した要素にも、on で、複数のイベントを付けられる

$( 'CSS セレクター' ).on( {
'click': function() { 処理 },

'mouseenter': function() { 処理 }
} );

779 名前:デフォルトの名無しさん [2019/07/02(火) 22:05:43.99 ID:IFMrsVTJ.net]
>>747
むー・・・ あと3日WPFで頑張らさせていただきます!
もしそうなったときはHTMLベースのUIに変換するコード書いてjsで制御しようと思います



780 名前:747 mailto:sage [2019/07/02(火) 22:30:07.10 ID:uMGeffjZ.net]
WPF の概要
https://docs.microsoft.com/ja-jp/visualstudio/designers/introduction-to-wpf?view=vs-2019

この辺の説明は?

781 名前:デフォルトの名無しさん mailto:sage [2019/07/02(火) 23:46:29.77 ID:TfK25CW5.net]
>>747
後から追加した要素にも、という話ならこっちじゃないのか
$('セレクター1').on('click', 'セレクター2', function() { 処理 });

782 名前:デフォルトの名無しさん [2019/07/03(水) 00:05:26.64 ID:CCtfRBKO.net]
ここが優しい世界か・・・
煮詰まってたけど癒やされたよおお

>>747
xamlで書いた表示要素とコード上のオブジェクトを紐付けるのがx:classらしいんですが、
powershellはx:classをパースできなくて落ちてしまいます(T T)

いまxmlDataProviderの継承クラスをつくって、プロパティにICommandのオブジェクト設定する方法やってみようとしています
トライアンドエラーアンド討ち死にを繰り返してます

783 名前:デフォルトの名無しさん [2019/07/03(水) 01:47:49.94 ID:CCtfRBKO.net]
ふぁああ・・・
だめだぁ ピクリともしない

784 名前:デフォルトの名無しさん mailto:sage [2019/07/03(水) 12:43:03.67 ID:aBGmP+w2.net]
癒やされたよおお
とか、
ふぁああ・・・
とか、顔文字とか気持ち悪い
キャラ作んなくていいから普通に質問して

785 名前:746 [2019/07/04(木) 20:57:41.18 ID:BTJ6kVqu.net]
解決しました!
@xmlDataProvider継承したViewModelクラスを作る

786 名前:
ARoutedCommand型のオブジェクトを作成して、ViewModelの公開プロパティにする
BTreeView.DataContextに@を設定する
Cイベントハンドラを $doSomething = { }の形で作る
DCommandBindingオブジェクト作成してAとCを紐付ける
ETreeView.CommandBindingsにDを追加する

FXamlのDataTemplateで定義したButtonのCommand属性:
RelativeSourceとPathを併用してTreeView.DataContext.Aを直接指定する
CommandPerameter={Binding}

これでボタンを押すとCが呼ばれて、commandParameterで渡した引数が $_.parameter に入ってきます
[]
[ここ壊れてます]

787 名前:デフォルトの名無しさん mailto:sage [2019/07/17(水) 08:59:27.68 ID:9NhZdbVu.net]
v6.1.5
https://github.com/PowerShell/PowerShell/releases/tag/v6.1.5
v6.2.2
https://github.com/PowerShell/PowerShell/releases/tag/v6.2.2

788 名前:デフォルトの名無しさん mailto:sage [2019/07/17(水) 10:10:22.98 ID:41FBiYn6.net]
>>755
6系の長期サポート版が欲しいな

789 名前:デフォルトの名無しさん mailto:sage [2019/07/25(木) 18:27:45.21 ID:zfVWvI3/.net]
shellからjarを起動したいのですがjarの引数に変数を入れると落ちてしまいます
直接書くと問題なく動くのですがなぜでしょうか?



790 名前:デフォルトの名無しさん mailto:sage [2019/08/12(月) 02:48:57.74 ID:kdU0FwTT.net]
PowerShellのGet-HelpコマンドでGetType()についてのヘルプを見るにはどうすればいいのでしょう。
Get-Help -Functionality GetTypeとか
Get-Help -Component GetTypeとか
色々やってみたのですが表示してくれません…。

791 名前:デフォルトの名無しさん mailto:sage [2019/08/12(月) 03:14:57.78 ID:k4SaZ4yK.net]
GeTtype()は.NETのオブジェクトのメソッドだからGet-Helpじゃ見れんやろ
Powershellの与り知らんとこだし

792 名前:デフォルトの名無しさん mailto:sage [2019/08/12(月) 06:13:32.21 ID:kdU0FwTT.net]
>>759
そうなんですね。
ありがとうございます。

793 名前:デフォルトの名無しさん mailto:sage [2019/08/15(木) 08:40:37.86 ID:HmFqQFvo.net]
Windows以外でもGUI使えるのか

Out-GridView Returns!
https://devblogs.microsoft.com/powershell/out-gridview-returns/

794 名前:デフォルトの名無しさん mailto:sage [2019/08/15(木) 19:53:03.53 ID:1FEo3MBg.net]
俺の大好きなogv!!

795 名前:デフォルトの名無しさん mailto:sage [2019/08/17(土) 18:24:44.34 ID:2EecLECc.net]
ここの人がPowershell、vbs、C#に精通していると思い質問させていただきます。
C#もまだ覚え中ですが、vbsをC#に移行していました。
最近Powershellを知って、
C#より分かりづらいですが、同じことがC#より短く書けます。
shellで.NETも使えてほぼ何でもできるPowershellに可能性を感じたのですが、
全然盛り上がっていませんw
Powershellをどんどん使っていくか、
C#を覚えていくか、将来性も含めどちらがいいでしょうか?

796 名前:デフォルトの名無しさん mailto:sage [2019/08/17(土) 18:58:18.44 ID:Q0D8gSGr.net]
そんなの状況次第だよ
大雑把に分けるなら
アプリケーションを作りたいならC#
システム管理ツールを作りたいならPowerShell

797 名前:デフォルトの名無しさん mailto:sage [2019/08/17(土) 19:03:01.90 ID:CK+x7f61.net]
用途が違うからC#とは並べるものじゃない
windowsがメインならどっちもできるようになった方がいい
複雑なGUIをPowerShellで頑張って作ってる人見るとごくろうさまですとしか思えんし
PowerShellでさくっと書けるCUIをわざわざVisualStudio入れてC#で書いてビルドしてバイナリ配置して
ソースも別の場所でずっと管理してんの見るとアホだなあと思う
修正の度にソース探してまたビルドしてバイナリ配置して・・・ってなるんだし

あとPowershellのスクリプトの中でC#のコードを書いて使うこともできる
これがまた強力だからどっちも覚えて損はない
(速度はC#が圧倒的に速いから速度的にネックになってる部分だけC#でかくということができる)

将来性についてどっちもMSが力入れてるから気にすることはない
vbsに関して言えば所詮道具だから現状やりたいことができ

798 名前:トいるんならわざわざ移行する必要もない
今んとこMSがWSHを切るって話もないし
[]
[ここ壊れてます]

799 名前:デフォルトの名無しさん [2019/08/17(土) 19:11:51.36 ID:Ic+b/2I0.net]
Linux 覚えたほうが良さそうw



800 名前:デフォルトの名無しさん mailto:sage [2019/08/17(土) 20:01:01.84 ID:2EecLECc.net]
>>764-765
ありがとうございます
C#はGUIやDLLなどもできるので覚えていきたいです。
最近知ったPowerShellが何でもGUIもできるし、
短く書けておもしろいのでPowerShellに夢中です。
.NETや.csを読み込んで使えたり、
C#も一緒に覚えていけそうです。
用途で併用していきます。

>>766
Linuxもやってますが、PowerShellも入れられるので、
PowerShellが標準になったらうれしいですw

801 名前:デフォルトの名無しさん mailto:sage [2019/08/17(土) 20:37:46.41 ID:fWrg11mT.net]
役割違うからどっちも必要だと思う
Windows技術者じゃなく.NET技術者を目指して勉強して欲しい

802 名前:デフォルトの名無しさん mailto:sage [2019/08/18(日) 00:06:00.19 ID:26pp6bRY.net]
PowerShell の1つ上は、Ruby。
より複雑な、ファイル操作・CSV・テキスト処理・シェルスクリプトなど

例えば、1-liner で、

Linux では、
ls | ruby -ne 'puts $_.center(20, "-")'

Windows では、
ls -name | ruby -ne 'puts $_.center(20, %Q("-"))'

ただし、Windows では、" をエスケープする必要がある。
"-" の部分を、Ruby の% 記法で囲んで、%Q("-") としたら正常に動いた

%, %Q で、ダブルクォーテーションをエスケープできる。\ と同じ。
\"-\"

まあ、VBScript のスレ主のピッコロ大魔王のように、
PS で、5ch をスクレイピングするような猛者もいるけど、Ruby の方が可読性が高い

803 名前:デフォルトの名無しさん mailto:sage [2019/08/18(日) 00:15:38.74 ID:4oEGaRbg.net]
>>769
お前は出てこなくていい

804 名前:デフォルトの名無しさん mailto:sage [2019/08/18(日) 08:18:26.56 ID:vD0MLvXn.net]
>>769
将来性のないプログラミング言語5選として「Ruby」が挙がり話題に
https://it.srad.jp/story/19/08/09/185229/

805 名前:デフォルトの名無しさん mailto:sage [2019/08/18(日) 22:05:00.38 ID:aNJOLvna.net]
WindowsでRuby使うとかギャグだろ

806 名前:デフォルトの名無しさん mailto:sage [2019/08/19(月) 23:45:41.47 ID:6VXOyYrl.net]
RubyがギャグならPythonは?

807 名前:デフォルトの名無しさん mailto:sage [2019/08/20(火) 00:23:10.44 ID:S2+8M2EA.net]
PythonはAIプログラミングで一躍有名になったね

808 名前:デフォルトの名無しさん mailto:sage [2019/08/20(火) 08:18:30.85 ID:trDWBWGh.net]
>>773
Visual Studio が対応してるし、.NET Framework 上で動く IronPython なんてのがあるくらいだから「アリ」だろうな。

809 名前:デフォルトの名無しさん mailto:sage [2019/08/20(火) 15:46:07.95 ID:OusQ3pFE.net]
Windows版のPythonは結構ちゃんと動くし、Python製のGUIアプリもDropboxとかたまにある
WindowsのRubyは非推奨の流れで、WSL使うか仮想環境のLinux使うか



810 名前:デフォルトの名無しさん mailto:sage [2019/08/20(火) 21:28:48.24 ID:n/ZUSiaV.net]
昔、七行プログラミングってあったけど、
PowerShellなら7行ですごいことできるよね

811 名前:デフォルトの名無しさん mailto:sage [2019/08/24(土) 01:22:08.40 ID:kPbBL5c4.net]
csvファイル内の特定セル?(エクセルでいうところのcells(1,2)みたいな)を変数に格納して、
そのファイルのファイル名にしたいのですが、こういったことはできますか?

812 名前:778 mailto:sage [2019/08/24(土) 01:39:25.56 ID:kPbBL5c4.net]
できました。import-csvから要素の取り出しをするだけでした。

813 名前:デフォルトの名無しさん mailto:sage [2019/08/26(月) 04:00:34.51 ID:yeIOnWDr.net]
パイプラインにオブジェクトが流れるPowerShellライクな新シェル

Nu Shell
https://github.com/nushell/nushell

814 名前:デフォルトの名無しさん [2019/08/26(月) 07:51:25.55 ID:LOkM9Twk.net]
コマンドプロンプトで、where notepad
と入力すると、メモ帳のパスが、2つ表示されるが、

C:\Windows\System32\notepad.exe
C:\Windows\notepad.exe

PowerShell(PS)で、Get-Command notepad
と入力すると、上の1つだけが表示される。
つまり、PSと、whereコマンドの挙動が異なる!

コマンドプロンプトで、where where と入力すると、
C:\Windows\System32\where.exe

そこで、PSで、where.exe notepad
と入力すると、whereコマンドを呼び出せたので、2つ表示された

815 名前:デフォルトの名無しさん mailto:sage [2019/08/26(月) 08:31:04.34 ID:sAEBXghq.net]
>>781
Get-Command -CommandType Application notepad は試した

816 名前: []
[ここ壊れてます]

817 名前:デフォルトの名無しさん mailto:sage [2019/08/26(月) 14:58:24.63 ID:R1/Rmq9c.net]
>>781
何を主張したいのかが良く分からんレスだな。
困ってるから何とかしてくれ、とでも言いたいのか?

Get-Command notepad

C:\Windows\System32\notepad.exe
が表示されたは、$env:path で一番最初に見つかったものを表示してるだけだ。
試しに $env:path を変更して、C:\Windows\System32 よりも C:\Windows を先にしてみろ。
$env:path を変更したら、念のため Powershell.exe を開きなおすのを忘れんなよ。

あるいは、notepad.exe が二か所にあることが疑問/不満なのか?歴史的な経緯だ。
実態は c:\Windows\WinSxS\ 以下にあるもので、C:\Windows\System32 と C:\Windows に
あるものはハードリンクだ。
三つとも同じハードリンクなので WinSxS\ 以下のものを特別に「実態」と表現するのは本来正しくないが、
WindowsUpdate の仕組み上、便宜的に「実態」と呼んでも差し支えないだろう。

818 名前:デフォルトの名無しさん mailto:sage [2019/08/26(月) 15:00:01.45 ID:R1/Rmq9c.net]
>>782
Get-Command notepad -all
でも良いんじゃないかな

819 名前:デフォルトの名無しさん mailto:sage [2019/08/26(月) 15:10:26.74 ID:JMmOsJb3.net]
Why are there two copies of Notepad?
https://devblogs.microsoft.com/oldnewthing/20060328-17/?p=31753



820 名前:デフォルトの名無しさん mailto:sage [2019/08/26(月) 15:27:38.53 ID:j8vvMRg5.net]
>>783
独特の文体からして、この板で有名なRuby君かと思われる。話の流れと無関係にRuby推ししてきたり、頓珍漢な知識披露(間違い多数)をしてきたりする奴だから、相手するだけ無駄だよ。
おそらく、ぼくこんなこと気づいたんだよ!って嬉しくて書かずにいられなかっただけだと思う。

821 名前: mailto:sage [2019/08/26(月) 19:23:25.35 ID:jPNtTojU.net]
>>786
>話の流れと無関係にRuby推ししてきたり
ステキじゃないですか、この前も C/C++ スレに乱入していましたね、これからも頑張って ruby を喧伝してほしいです!

822 名前:デフォルトの名無しさん mailto:sage [2019/08/27(火) 01:45:40.61 ID:OLaosybt.net]
DOSメインでPSでしかできない部分だけPSにしてるのをやめて、PS一本化を増やそうかと思い立ったが
そういやDOSからキックしないと動かないのであった
というわけでやはりDOSメイン

823 名前:デフォルトの名無しさん mailto:sage [2019/08/27(火) 01:49:02.45 ID:OLaosybt.net]
なんでそんな仕様にしたんだろうね
かといってPS直でやりたいというより、DOSを拡張して欲しかった

824 名前:デフォルトの名無しさん mailto:sage [2019/08/27(火) 02:31:00.22 ID:AUeyxvTx.net]
まだDOSなんて使ってんの

825 名前:デフォルトの名無しさん mailto:sage [2019/08/27(火) 17:41:47.14 ID:DT/yO98c.net]
なんでps1てへんてこな拡張子なの

826 名前:デフォルトの名無しさん mailto:sage [2019/08/27(火) 18:06:41.10 ID:JlFv53u2.net]
どっかのゲーム機みたいにPowerShell 2, PowerShell 3, …って作るんじゃね?w

827 名前:デフォルトの名無しさん mailto:sage [2019/08/27(火) 21:28:53.53 ID:2r3hz+dJ.net]
>>791
PowerShell の ps1 ファイルは 何故 1なのか
https://tech.guitarrapc.com/entry/2013/09/06/220944

828 名前:デフォルトの名無しさん mailto:sage [2019/08/28(水) 02:40:35.65 ID:tqyYzyWN.net]
考え無しに作った結果か・・・

829 名前:デフォルトの名無しさん [2019/08/29(木) 03:16:31.66 ID:RYMiansx.net]
基本的なことが分かってない気がするのだけど教えてください
get-date, get-childitem, get-location といったコマンドレットの代わりに
get 無しで date, childitem, location と入力しても同じ結果になる
これら get 無しコマンドは get 付きのエイリアスなのか? と最初は思ったのだけど
そんなエイリアスはないと言われる
これらの get 無しコマンド(?) はどういう立ち位置なんでそ?

ちなみに例えば location.bat とかを PATH の通った場所に置いておくと
そっちが実行されるので、これらは



830 名前:Tーチパスより優先度が低いようです []
[ここ壊れてます]

831 名前:デフォルトの名無しさん mailto:sage [2019/08/29(木) 04:05:52.42 ID:TR1/uwdi.net]
>>795
基本的なことはここにまとまってる
https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_command_precedence?view=powershell-6#qualified-names

1. Alias
2. Function
3. Cmdlet
4. Native Windows commands

の順に探す
ただこの文書にはGetを省略した場合について書いてない
以下のコマンドを実行すればだいたいわかる

Trace-Command CommandDiscovery { date } -PSHost

すると上記の1〜4の順に探してもコマンドが見つからなかった場合、以下のようなデバッグ出力が見つかる

>The command [date] was not found, trying again with get-prepended

つまり1〜4でコマンドが見つからなかった場合は、頭にGetを付加してもう一回1〜4を探すよってこと

832 名前:デフォルトの名無しさん mailto:sage [2019/08/29(木) 04:22:51.28 ID:RYMiansx.net]
>>796
明快な回答ありがとうございます

> Trace-Command CommandDiscovery { date } -PSHost

これ勉強になりました

833 名前:デフォルトの名無しさん mailto:sage [2019/08/29(木) 19:25:49.72 ID:+UUfxV7s.net]
初心者で右も左もわからない状況で申し訳無いのですが、
明示的に設定してる共有ディレクトリとアクセス権を一括で出力ってできたりするんですかね?

Get-wmiobject -class win32_share
だとアクセス権までは出力されなかったんで...

詳しい方教えて頂きたいです。

834 名前:デフォルトの名無しさん [2019/08/30(金) 00:19:55.56 ID:kVpvpBih.net]
「powershell アクセス権限 確認」で検索!

こんな感じ?

ls | Get-ACL

835 名前:デフォルトの名無しさん mailto:sage [2019/08/30(金) 10:55:43.01 ID:uzgqDeg8.net]
>>799
ありがとうございます。
検索してみます。

PowerShellはほんとに難しいです...

836 名前:デフォルトの名無しさん mailto:sage [2019/09/06(金) 17:24:06.26 ID:LE0BBPZ5.net]
ふぁあああ・・・・
解決してよかったよぉお
ハロー優しい世界、だねええええ^^

837 名前:デフォルトの名無しさん mailto:sage [2019/09/07(土) 01:23:05.71 ID:SOW3zbb3.net]
Set-ACLは使うな

838 名前:デフォルトの名無しさん mailto:sage [2019/09/07(土) 06:28:56.33 ID:jlJXcZnh.net]
>>802
替わりに何を使ったら良いですか?

839 名前:デフォルトの名無しさん mailto:sage [2019/09/07(土) 06:44:55.31 ID:jb/JoUUS.net]
>>802
why?



840 名前:デフォルトの名無しさん mailto:sage [2019/09/07(土) 10:39:33.44 ID:sSufJvsQ.net]
>>804
俺は >>802 ではないが、Set-Acl は使いづらい。
そもそもの理由は Windows の ACL (ACE) が複雑だからなのだが、対象にセットする ACL オブジェクトを作るのが分かりづらい。

例:All Users のスタートメニューのアクセス権を変更し、一般ユーザにも書き換えられるようにする場合(既存の権限に追加)
https://pastebin.com/R3JBWF2h

他のフォルダなどから ACL オブジェクトをコピーし、それをそのままターゲットに適用するだけなら簡単なのだけど。

>>803
「何が何でもすべて PS でやる!」 というポリシーでないのなら、cscls.exe、icacls.exe のほうがお手軽。

841 名前:デフォルトの名無しさん mailto:sage [2019/09/07(土) 10:48:02.60 ID:jlJXcZnh.net]
>>802に答えて欲しいな

842 名前:デフォルトの名無しさん mailto:sage [2019/09/07(土) 11:08:11.46 ID:sSufJvsQ.net]
>>806
ごめんね

843 名前:デフォルトの名無しさん mailto:sage [2019/09/07(土) 15:10:43.76 ID:SOW3zbb3.net]
>>802だけどSet-ACLは所有権絡みで問題抱えてる
下サイトで説明されてる
https://qiita.com/carbonss/items/cc6d33fe6645a86171ad

844 名前:デフォルトの名無しさん mailto:sage [2019/09/07(土) 15:12:47.14 ID:SOW3zbb3.net]
あ、>>803への答えはicaclsコマンド使えね
powershellは変な仕様あるから割と警戒した方がいい

845 名前:デフォルトの名無しさん mailto:sage [2019/09/08(日) 20:21:13.64 ID:d6DJW1MN.net]
F:/ に SDカードがマウント

846 名前:ウれているのを
アンマウントするコマンドは何ですか?
[]
[ここ壊れてます]

847 名前:デフォルトの名無しさん mailto:sage [2019/09/08(日) 21:55:23.61 ID:D+CIKcq7.net]
>>810
(New-Object -comObject Shell.Application).Namespace(17).ParseName('F:').Verbs()|?{$_.Name -match '取り出し'}|%{$_.Doit()}

848 名前:デフォルトの名無しさん mailto:sage [2019/09/09(月) 16:38:34.04 ID:8EKyQA8Q.net]
>>811
thanks

849 名前:デフォルトの名無しさん mailto:sage [2019/09/10(火) 21:38:04.40 ID:Eo4YqZPr.net]
■C:\hoge.txtの内容

aaa
bbb
bbb
bbb
ccc
ccc
ccc
ccc
ccc

↑のようなテキストファイルがある場合に、↓の結果(タブ区切り)を得るにはどうすれば良いのでしょうか?

aaa 1
bbb 3
ccc 5



850 名前:デフォルトの名無しさん mailto:sage [2019/09/10(火) 22:19:37.38 ID:L5QX1JAH.net]
>>813
Group-Object

851 名前:デフォルトの名無しさん mailto:sage [2019/09/10(火) 22:36:34.85 ID:hrOpSOVs.net]
頼むから順不同なのかそうじゃないのか
書いてから質問してくれ

852 名前:デフォルトの名無しさん mailto:sage [2019/09/10(火) 23:28:19.24 ID:Eo4YqZPr.net]
>>814
gc C:\hoge.txt | Group-Object
などとやってみたのですがうまく動かず…

>>815
ソート済みです><

853 名前:デフォルトの名無しさん mailto:sage [2019/09/10(火) 23:30:43.39 ID:L5QX1JAH.net]
>>816
上手く動かずじゃよくわからんからどういう出力なのか書いて
エラーになるの?

854 名前:デフォルトの名無しさん mailto:sage [2019/09/11(水) 00:05:23.05 ID:TMos3buL.net]
あータブ区切りの文字列にしたいんか
gc hoge.txt | group | foreach { $_.name,$_.count -join "`t" }

855 名前:816 mailto:sage [2019/09/12(木) 00:24:07.29 ID:W/V8jwbc.net]
>>818
★★★★★
ありがとうございます!
実はまだ試せてないのですが、期待を込めて★5つです!(^_^)

856 名前:デフォルトの名無しさん mailto:sage [2019/09/12(木) 10:44:16.82 ID:W/V8jwbc.net]
>>805
icaclsってps1ファイル内でも普通に呼出せるのね
ps1→bat→icaclsみたいに呼出さなきゃならないのかと思った
コマンドというより単なるexeってことか

857 名前:デフォルトの名無しさん mailto:sage [2019/09/12(木) 13:07:06.37 ID:9SxJRVV0.net]
これからは>>819みたいに★で評価しよう
★☆☆☆☆ クソレス
★★★★★ 問題解消

858 名前:デフォルトの名無しさん mailto:sage [2019/09/12(木) 14:46:18.96 ID:pQlsfVOK.net]
ふーむ、アホがアホに同調するアホな好例だな、アホすぎてオレにはよく分らんのだが、アホだということは分かる

アホA「ありがとうございます! まだ試していないけど! ★5つです!(^_^)」
アホB「・・これは良い! これからは★で評価しよう!」
ボク「・・いやいや、まだ試してもいないのだから評価もくそもねーだろ、★2〜3の定義もねーし、こいつらアホの極みだな」

859 名前:デフォルトの名無しさん mailto:sage [2019/09/12(木) 14:53:12.75 ID:j3ZoG8EK.net]
>>822




860 名前:デフォルトの名無しさん mailto:sage [2019/09/12(木) 17:51:47.62 ID:TUHPbFV0.net]
>>822
これが噂のヤラセレビューってやつか?

861 名前:デフォルトの名無しさん mailto:sage [2019/09/12(木) 18:29:54.11 ID:5CMOpd/7.net]
>>822


862 名前:デフォルトの名無しさん mailto:sage [2019/09/12(木) 19:50:41.33 ID:igJ/H+nC.net]
icaclsとか括弧を多用するコマンドはエスケープうざいですね
ヒアドキュメントみたいな感じでスマートに書けませんか

863 名前:デフォルトの名無しさん mailto:sage [2019/09/13(金) 20:13:01.19 ID:Vx47yrR/.net]
PowerShellで非同期処理って酷く書きづらいと思ってるんだが、こんなもんなんか?
変数を渡すのにめっちゃ苦労したんだが…

864 名前:デフォルトの名無しさん mailto:sage [2019/09/13(金) 21:35:11.86 ID:3ZdspPUD.net]
具体的にはどんなコードを書いたの?

865 名前:デフォルトの名無しさん mailto:sage [2019/09/13(金) 21:49:24.82 ID:Vx47yrR/.net]
あまりにもニッチな製品の負荷テスト用スクリプトだから具体的には言えないが、平たく言えば自作関数とWin標準コマンドを引数変えながら並列投入するだけ
bashと比べちゃ駄目なんだろうが、スクリプト書いててキレそうになったのは久

866 名前:しぶりだわ []
[ここ壊れてます]

867 名前:デフォルトの名無しさん [2019/09/13(金) 23:05:20.75 ID:ha69B7nJ.net]
runspaceでやってるのかjobでやってるのか

868 名前:デフォルトの名無しさん mailto:sage [2019/09/14(土) 01:25:26.61 ID:XbAlqDVd.net]
そんな苦労するもんだっけか

869 名前:デフォルトの名無しさん [2019/09/14(土) 01:53:38.89 ID:ogAZWftq.net]
runspaceの中で親スコープで宣言した関数を(特に書き換えずに)呼ぼうとするとややこしい
ちょっとggって出てくる方法だと面倒
https://devblogs.microsoft.com/scripting/powertip-add-custom-function-to-runspace-pool/


解決策:まとめて文字列にして渡す

# runspaceで実行したいスクリプトブロック
$cmd = {
param($func_parent)
$func_current = Get-ChildItem function: | %{$_.ScriptBlock.Ast.ToString()} # カレント(子)スコープの関数リスト
compare-object $func_current $func_parent | % inputobject | Invoke-Expression # 親スコープで宣言した関数のみを定義する

<# 実行したい処理 #>

}

$func = Get-ChildItem function: | %{$_.ScriptBlock.Ast.ToString()} # カレント(親)スコープの関数リスト

$ps = [PowerShell]::Create()
$ps.AddScript($cmd).AddArgument($func) | Out-Null

$result = $ps.BeginInvoke()
$ps.EndInvoke()
$ps.Dispose()
}



870 名前:デフォルトの名無しさん mailto:sage [2019/09/14(土) 01:55:28.35 ID:ogAZWftq.net]
$ps.EndInvoke($result)
だわ

871 名前:デフォルトの名無しさん mailto:sage [2019/09/14(土) 20:16:09.07 ID:atxyCPua.net]
変数じゃねーじゃねーか!

872 名前:デフォルトの名無しさん [2019/09/14(土) 20:31:39.96 ID:jbpc8Cnk.net]
連想配列にして渡そうぜ
https://devblogs.microsoft.com/scripting/beginning-use-of-powershell-runspaces-part-2/

873 名前:デフォルトの名無しさん mailto:sage [2019/09/14(土) 20:49:09.80 ID:atxyCPua.net]
渡したかったのは関数だって言ってんじゃねーか!

874 名前:デフォルトの名無しさん mailto:sage [2019/09/14(土) 21:11:58.91 ID:ogAZWftq.net]
>>836
>>832のスクリプトブロック内のInvoke-Expressionをした時点で渡した関数(というか親スコープの関数全部)使える
特定の関数にしたかったら$function:関数名.Ast.ToString()で必要分を配列に突っ込んで渡してiexするだけや

875 名前:デフォルトの名無しさん mailto:sage [2019/09/14(土) 22:03:58.44 ID:atxyCPua.net]
psm1にまとめて読み込んだほうが楽そう…

876 名前:デフォルトの名無しさん mailto:sage [2019/09/14(土) 22:24:21.00 ID:Tzf8a7mL.net]
うむ

877 名前:デフォルトの名無しさん [2019/09/15(日) 15:45:03.86 ID:4TgO8+RX.net]
>>813-819
大文字小文字が区別されないから、-CaseSensitive オプションも付けた方がよい

"Aa", "b", "aa" | group-object -noelement | where {$_.Count -gt 1}

出力
2 Aa

"A", "a" | group-object -noelement -CaseSensitive

出力
1 A
1 a

878 名前:デフォルトの名無しさん [2019/09/15(日) 17:42:03.16 ID:tc+PQ4bB.net]
5.1から4.0に戻さないと日本語でいろいろ書いてくれないからわからないんです…
どうやって戻したらいいんでしょうか…(´・ω・`)

879 名前:デフォルトの名無しさん mailto:sage [2019/09/15(日) 18:02:21.21 ID:LMFjfaUx.net]
どういうこと(´・ω・`)



880 名前:デフォルトの名無しさん [2019/09/15(日) 19:37:50.46 ID:tc+PQ4bB.net]
(´・ω・`)すみません自己解決しました 更新プログラムの一部を削除したら望む結果が得られました お騒がせしました

881 名前:デフォルトの名無しさん mailto:sage [2019/09/15(日) 20:17:50.41 ID:aATf+6N9.net]
WMF 5 に上げるとUIの表示が英語になるやつかねたぶん

882 名前:デフォルトの名無しさん mailto:sage [2019/09/15(日) 20:48:36.32 ID:ORV+CvDJ.net]
win7pcのPSを5.1にした時に日本語化探したけどわかんなかったから詳しく書いてほしかった感

883 名前:デフォルトの名無しさん [2019/09/15(日) 22:28:51.53 ID:tc+PQ4bB.net]
>>844
たぶん

884 名前:それですお騒がせしました
これから精進していきます
[]
[ここ壊れてます]

885 名前:デフォルトの名無しさん [2019/09/15(日) 22:30:29.90 ID:tc+PQ4bB.net]
>>845
ざっくり言うと
コントロールパネルからプログラムと機能に行って
インストールされた更新プログラムの項目を開いて
WMF5をアンインストールしたという流れです

886 名前:デフォルトの名無しさん mailto:sage [2019/09/18(水) 09:25:06.97 ID:jcGpm5QT.net]
v6.1.6
https://github.com/PowerShell/PowerShell/releases/tag/v6.1.6
v6.2.3
https://github.com/PowerShell/PowerShell/releases/tag/v6.2.3

887 名前:デフォルトの名無しさん mailto:sage [2019/09/18(水) 12:47:39.59 ID:iUGh13ZQ.net]
バッチファイルでいう、
echo %errorlevel%
はパワーシェルではどうやればいいんでしょうか?

888 名前:デフォルトの名無しさん mailto:sage [2019/09/18(水) 14:54:54.64 ID:nNyCwAkD.net]
echo $LASTEXITCODE

889 名前:デフォルトの名無しさん mailto:sage [2019/09/23(月) 16:12:06.99 ID:yWN8gkqC.net]
[2018.11.27] 納品書A社
[2018.11.29] 納品書B社
[181129] 納品書C社

このようなフォルダ構造になっている状態で、
このフォルダ階層だけ
3行目の"[YYMMDD] 〜〜"のような書式にフォルダ名を変更したいと思っています。
" 納品書A社"などはそのままで
元の日付も保持します

正規表現では"([2][0][1][0-9])\.([01][0-9])\.([0-3][0-9])"
に反応するものだけで出来ればと思います
どのように書けばよいのでしょうか?



890 名前:デフォルトの名無しさん mailto:sage [2019/09/23(月) 18:10:16.40 ID:mK3aarjp.net]
>>851
Get-ChildItem -Directory |
Where-Object Name -match "^\[20(1[0-9])\.([01][0-9])\.([0-3][0-9])\](.*)" |
Rename-Item -NewName { "[{0}{1}{2}]{3}" -f $Matches[1..4] } -PassThru

これ日付の妥当性チェックはガバいけどそれは別にいいんでしょ
-match演算子を使ったらその結果は変数$Matchesに入ってることを覚えておくといい

891 名前:デフォルトの名無しさん mailto:sage [2019/09/23(月) 22:41:23.65 ID:CUAPT5Qo.net]
NewNameにスクリプトブロック渡せるんだ
%{〜}の中で整形して渡す発想しかなかった

892 名前:デフォルトの名無しさん mailto:sage [2019/09/23(月) 22:54:01.34 ID:GUxJcSSn.net]
DIRとって一つずつ条件に合致するオブジェジェクトをパイプ渡しするだけだよ

893 名前:デフォルトの名無しさん mailto:sage [2019/09/23(月) 23:39:14.69 ID:mK3aarjp.net]
>>853
Delay Bindingっていって以下の条件を満たすパラメータにスクリプトブロックを渡すと
パイプラインから値が入ってくる度にパラメータの値を評価してくれる

・ ByValue, ByPropertyName属性が付加されてること
・ 型が明示的に指定されてること(ただし[scriptblock]または[object]以外)

894 名前:デフォルトの名無しさん mailto:sage [2019/09/24(火) 10:08:27.83 ID:hYZHYmb1.net]
>>852
横だけど、すごく参考になった。ありがとう。

895 名前:851 mailto:sage [2019/09/24(火) 15:33:38.23 ID:SPmBMSDI.net]
>>852
やりたいことが出来ました。ありがとう!

896 名前:デフォルトの名無しさん mailto:sage [2019/09/25(水) 10:57:26.88 ID:E/zWVp/e.net]
PowerShell って、「Shell」と一括にされてるんだっけ?

The Top Programming Languages 2019
https://spectrum.ieee.org/static/interactive-the-top-programming-languages-2019

897 名前:デフォルトの名無しさん mailto:sage [2019/09/25(水) 20:24:06.99 ID:idiO5sU0.net]
素のCが3位とかだから老害向けランキングでしょ

898 名前:デフォルトの名無しさん mailto:sage [2019/10/14(月) 15:09:43.96 ID:WeKpLulI.net]
LL言語入門で有名なM.Hiroiさんは
なんでpowershellにかたくなに手を出さんのかと思ってたけど
bashとかシェルスクリプト方面は全く手を付けてないので納得

今はまさかのtcltkのページを更新中というマイペースぶり

899 名前:デフォルトの名無しさん mailto:sage [2019/10/22(火) 22:39:49.38 ID:xAr/pqiO.net]
3位PowerShellってマジかよ

ガチ調査版::2019年



900 名前:プログラミング言語 求人人気ランキング
https://qiita.com/bitai/items/c8941da683ebedd135fd
[]
[ここ壊れてます]

901 名前:デフォルトの名無しさん mailto:sage [2019/10/23(水) 07:15:39.57 ID:4jedgKvl.net]
>>861
決め方テキトーだからあてにならんよ

902 名前:デフォルトの名無しさん mailto:sage [2019/10/23(水) 08:54:10.32 ID:1cyp8e5C.net]
>>861
開発案件ではなく Windows のインフラ運用系案件の求人数が及ぼした結果だと思う。
求人の要件には「必須スキル」と「スキルが有るなら尚可」とあるけど、PowerShell のスキルは
後者じゃないかと推測。

Windows 系以外でも最近は管理用のスクリプティング環境として PowerShell の採用例が
いくつかあるから、そういう案件もカウントされてるかもしれない。
自分がガッツリ使ってるところだと vSphere かな。これのスクリプティング環境 (PowerCLI) は非常に整備されてて、とても便利。

903 名前:デフォルトの名無しさん [2019/10/27(日) 10:53:22.24 ID:NsKzBf3L.net]
詳しい方、教えて下さい!

シェバン記法でバッチファイル化して実行したいのですが、自スクリプトパスを取得する方法がわかりません。
誰か教えて下さい。

904 名前:デフォルトの名無しさん mailto:sage [2019/10/27(日) 10:58:27.15 ID:Lik42TLZ.net]
PowerShell、起動が遅いのがなー
なんとかならんかなー

905 名前:デフォルトの名無しさん mailto:sage [2019/10/27(日) 11:38:43.07 ID:7LOf++Wk.net]
シェバン記法てなぁに?

906 名前:デフォルトの名無しさん mailto:sage [2019/10/27(日) 11:42:15.29 ID:NsKzBf3L.net]
>>866
以下を頭につけて拡張子を.batにするとダブルクリック実行できるようになるという記法のことです。

@powershell -NoProfile -ExecutionPolicy Unrestricted "$s=[scriptblock]::create((gc \"%~f0\"|?{$_.readcount -gt 1})-join\"`n\");&$s" %*&goto:eof

907 名前:デフォルトの名無しさん mailto:sage [2019/10/27(日) 11:47:16.24 ID:7LOf++Wk.net]
ありがと

908 名前:デフォルトの名無しさん mailto:sage [2019/10/27(日) 11:48:06.40 ID:hJUpCTqv.net]
Ruby では、__FILE__ が現在評価中のスクリプトファイル名

シェバンは、Linux では、
#!/usr/bin/ruby

Windows に、シェバンってあるの?

.bat に、ruby .\script.rb
と書いて、ダブルクリックで起動したりする事はあるけど

.vbs でも、起動ファイルを作れる

909 名前:869 mailto:sage [2019/10/27(日) 11:52:51.51 ID:hJUpCTqv.net]
.bat に、powershell .\script.ps1
と書けば、ダブルクリックで起動できないか?

または、.vbs に、
CreateObject("WScript.Shell").Run "powershell .\script.ps1", 0



910 名前:デフォルトの名無しさん mailto:sage [2019/10/27(日) 12:06:15.48 ID:NsKzBf3L.net]
>>869
その方法だとファイルが2つになってしまうでしょう?
一つが良いんです。

911 名前:869 mailto:sage [2019/10/27(日) 12:21:42.69 ID:hJUpCTqv.net]
よく知らないけど、powershell は、ダブルクリックで起動するような、

危険なことは出来ないのじゃないか?

912 名前:デフォルトの名無しさん mailto:sage [2019/10/27(日) 12:38:31.80 ID:pI9qWgY0.net]
>>872
バッチやvbsならダブルクリックも安全だとおっしゃるのでしょうか?

913 名前:869 mailto:sage [2019/10/27(日) 12:54:36.77 ID:hJUpCTqv.net]
ダブルクリックで起動するのは、危険!
あくまで、個人用途

仕事ではやらない方が良い。
危険すぎる

914 名前:デフォルトの名無しさん mailto:sage [2019/10/27(日) 12:57:45.64 ID:gYi3Gz62.net]
スクリプトのパスなら$MyInvocation.MyCommand.Path

915 名前:デフォルトの名無しさん mailto:sage [2019/10/27(日) 13:07:05.42 ID:hKAQ6fM+.net]
>>873
そのとおり

916 名前:デフォルトの名無しさん mailto:sage [2019/10/27(日) 13:40:21.93 ID:Lik42TLZ.net]
>>874
ダブルクリックで起動するのは危険だから
コマンドラインから起動してください。
危険なコードでもコマンドラインから起動すれば、安全です。

こうですか?

917 名前:デフォルトの名無しさん mailto:sage [2019/10/27(日) 13:50:19.81 ID:NsKzBf3L.net]
>>874
どう危険なのですか?顧客提供して不特定多数が使うわけでもないのに何が危険なのですか?

>>875
シェバンした場合、それだと動作しません。

>>876
なぜ?

918 名前:869 mailto:sage [2019/10/27(日) 14:01:18.04 ID:hJUpCTqv.net]
ダブルクリックで起動するのは、危険!

ファイルをちょっと触っただけでも、
ダブルクリックになって起動起動されてしまうから、Microsoft も禁止してる!



919 名前:Linux のシェバンでも、
ファイル名だけじゃ起動できないようにしてるだろ

./ファイル名
みたいに、パス付きじゃないと起動しないようにしてる

これも、ファイル名だけでリターンキーを触ってしまうと、起動されてしまって危険だから!

ダブルクリック起動では、多くの被害者が出てる
[]
[ここ壊れてます]



920 名前:デフォルトの名無しさん mailto:sage [2019/10/27(日) 14:05:08.75 ID:v/8cx3Zl.net]
vbsはファイルを全部パースしようとするからシェバン記法は使えないな

921 名前:デフォルトの名無しさん mailto:sage [2019/10/27(日) 14:05:49.29 ID:Lik42TLZ.net]
ダブルクリックは危険!
ファイルをクリックしただけで起動しちゃう!
エクスプローラーからファイルをクリックできない
全部開いちゃう!

こうですか?

922 名前:デフォルトの名無しさん mailto:sage [2019/10/27(日) 14:06:46.38 ID:v/8cx3Zl.net]
危険はexeでもバッチでも同じだろうに
powershellスクリプトだけを危険とする理由はない

923 名前:デフォルトの名無しさん mailto:sage [2019/10/27(日) 14:13:43.83 ID:Lik42TLZ.net]
バッチファイルは危険じゃない!
APIが使えない。PowerShellスクリプトは何でもできる!
バッチファイルは他のスクリプトを呼び出すぐらいしかできない!

こうなるんですかね?

924 名前:デフォルトの名無しさん mailto:sage [2019/10/27(日) 14:22:52.49 ID:4/fJTv/Q.net]
>>878
引数の名前を指定して%~dpnx0を渡せばいいのでは

# D:\a.bat
@powershell -NoProfile -ExecutionPolicy Unrestricted "$s=[scriptblock]::create((gc \"%~f0\"|?{$_.readcount -gt 1})-join\"`n\"); & $s" -hoge %~dpnx0 %* & goto:eof

Param(
[string]$hoge
)
Write-Host $hoge
Write-Host $args[0]
Write-Host $args[1]
Write-Host $args[2]
pause
# D:\a.bat eof


D:\>a 0 1 2
D:\a.bat
0
1
2
続行するには、Enter キーを押してください...:

925 名前:デフォルトの名無しさん mailto:sage [2019/10/27(日) 14:26:31.81 ID:vcUKQgsd.net]
>>865
PC買いかえろよ…

926 名前:デフォルトの名無しさん mailto:sage [2019/10/27(日) 14:31:11.79 ID:vcUKQgsd.net]
>>878
> シェバンした場合、それだと動作しません。
そりゃスクリプトを動的に作ってるんだからスクリプトファイルなんてないからね
バッチファイルのパスを知りたいならバッチから引数で渡せばいいだけ

927 名前:デフォルトの名無しさん mailto:sage [2019/10/27(日) 14:32:02.36 ID:v/8cx3Zl.net]
マシン替えても相対的に速くなるだけで起動が遅いのは変わらないよ

928 名前:デフォルトの名無しさん mailto:sage [2019/10/27(日) 14:57:41.64 ID:vcUKQgsd.net]
>>887
何を言ってるんだ?w

929 名前:デフォルトの名無しさん mailto:sage [2019/10/27(日) 15:18:23.27 ID:FsLuN3Ol.net]
前から気になってたんだがダブルクリックでps1が起動できない設計にどれだけのセキュリティの効能があるんだろな
batの中にPSスクリプトを埋め込んで実行ポリシーも上書きできるなら実質batのセキュリティレベルまで落ちる
batをメールに添付すると自動でフィルタリングされるけどps1なら安全だからフィルタされず拡張子を書き換える手間が省ける、というレベルの価値なのかな



930 名前:デフォルトの名無しさん mailto:sage [2019/10/27(日) 15:40:44.98 ID:Lik42TLZ.net]
>>885
WSLから実行

$ time cmd.exe /c echo ok
ok

real 0m0.051s
user 0m0.000s
sys 0m0.016s

$ time powershell.exe -Command echo ok
ok

real 0m0.355s
user 0m0.000s
sys 0m0.016s


これは遅すぎる。

931 名前:デフォルトの名無しさん mailto:sage [2019/10/27(日) 15:41:31.49 ID:Lik42TLZ.net]
>>885
お前はどれくらいの時間で実行できる?
やってみてよ

932 名前:デフォルトの名無しさん mailto:sage [2019/10/27(日) 15:46:43.24 ID:Lik42TLZ.net]
ちなみに-NoProfileをつけても大差ない
-NoProfileが無いから当然だが

933 名前:デフォルトの名無しさん mailto:sage [2019/10/27(日) 15:47:02.36 ID:Lik42TLZ.net]
× -NoProfileが無いから当然だが
○ Profileが無いから当然だが

934 名前:デフォルトの名無しさん mailto:sage [2019/10/27(日) 15:50:55.08 ID:ho9vIROt.net]
>>890
> これは遅すぎる。
ならPC買い換えろって言われてるだろ、馬鹿なの?

935 名前:デフォルトの名無しさん mailto:sage [2019/10/27(日) 16:00:15.75 ID:Lik42TLZ.net]
>>894
だからどれくらいのスペックを買えば良いのか
お前のスペックとお前の実行時間を教えてくれと言ってるんだよ
CPUを強化すれば速くなるのか?SSDを速くすれば良いのか?

936 名前:デフォルトの名無しさん mailto:sage [2019/10/27(日) 16:37:26.26 ID:rrcAfXPk.net]
>>895
遅いと思う感覚が人によって違うから他人に聞いてもしょうがないだろ
そんなこともわからんのか?

937 名前:デフォルトの名無しさん mailto:sage [2019/10/27(日) 16:42:00.99 ID:ElQsR2/N.net]
>>896
だからどれくらい時間がかかるか聞いてるんだがw
お前にとって遅いかどうかなんて聞いてねーよ

938 名前:デフォルトの名無しさん mailto:sage [2019/10/27(日) 17:18:28.01 ID:cWrRHY0n.net]
ColorTool を使わ

939 名前:ずに同等のことって出来ませんかね。客先のマシンなので入れられないんです。
powershell.exe から ssh で Linux につないでるんだけど、青と黒の色が似通ってて、すごく見づらいのをなんとかしたいです。
[]
[ここ壊れてます]



940 名前:デフォルトの名無しさん mailto:sage [2019/10/27(日) 17:20:23.02 ID:ElQsR2/N.net]
プロパティから画面の色を変えるだけやろ?しらんけど

941 名前:898 mailto:sage [2019/10/27(日) 18:07:06.31 ID:cWrRHY0n.net]
解決したので自己レス。
とりあえず、これでだいぶマシになりました
https://superuser.com/questions/1114549

942 名前:デフォルトの名無しさん mailto:sage [2019/10/27(日) 19:03:23.84 ID:vcUKQgsd.net]
>>897
日本語理解できないのか?
お前がどんだけ時間が掛かっちゃ遅いと思うかなんてわからんし、その時間をなぜ俺が検証してやらんといかんのだよ
無能が甘えんなよw

943 名前:デフォルトの名無しさん mailto:sage [2019/10/27(日) 19:07:32.81 ID:f+MCPxtM.net]
Write-Hostは日本語環境だと遅いよ

944 名前:デフォルトの名無しさん mailto:sage [2019/10/27(日) 21:04:44.37 ID:jAqyy8Vt.net]
>>889
batファイルも外部からDLしたデータなら実行前に確認画面出るでしょ
もちろん悪意のある内部犯なら無意味だけど

945 名前:デフォルトの名無しさん mailto:sage [2019/10/28(月) 00:41:43.54 ID:T67vLNbE.net]
>>903
出るでしょ、と言われてもそれ俺の疑問とズレてると思うんだが…
その理屈だと、ネットワークから入手したときに警告が出るからbatもそれなりに安全
ps1も同じように警告が出るなら同じように安全
だったらダブルクリックで実行できない仕様にしたことにはあまり意味がなかった、という結論だと受け取って良い?

946 名前:デフォルトの名無しさん mailto:sage [2019/10/28(月) 00:48:33.12 ID:ML+fUsJB.net]
ダブルクリック実行が危険ってのは、オペレーション次第で意図しないタイミングで実行されるからだろ
別に実行されても問題ないタイプのものならいいけど
ファイル削除系とか実行されたら何らかの情報が変化しちゃう系だと困るってことだよ
あと、ダウンロードでフラグが立つのはNTFSに落とした場合のみでFATなら警告なしだよ

947 名前:デフォルトの名無しさん mailto:sage [2019/10/28(月) 02:25:37.55 ID:bqlyCkZ6.net]
読み込むアセンブリを減らしたりして0.1秒減らした。
これでコマンド実行時間が0.45秒ぐらいになった。
でもPowerShellの起動時間0.3秒がやはり大きい
ネイティブexeにすりゃいいんだろうけど、そうすると気軽じゃなくなるからな
VBScriptでAPIが使えるならそっちのほうが速くなりそうだけど

948 名前:デフォルトの名無しさん [2019/10/28(月) 06:35:24 ID:kjzN6NI8.net]
>>890
漏れは、パソコン工房のノートPC、CPU-i3, メモリ8GB, SSD-128GB で、
WSL, Ubuntu 16.04 で、2秒ぐらいw

~$ time powershell.exe -Command echo ok
ok

real 0m1.944s
user 0m0.000s
sys 0m0.031s

949 名前:907 mailto:sage [2019/10/28(月) 06:41:24 ID:kjzN6NI8.net]
ただし、漏れはいつも、ノートPC を、
CPUを1つだけ使う、省エネモードにして使っている

それで、コンパイルが遅いのかも?



950 名前:デフォルトの名無しさん mailto:sage [2019/10/28(月) 08:13:17.35 ID:SMRk50Ri.net]
>>904
ダブルクリックだけでは実行できなくなってるからいいんじゃない?
さすがにFATは知らんけど

951 名前:デフォルトの名無しさん mailto:sage [2019/10/28(月) 11:15:58.10 ID:tEsfLTI+.net]
>>907
うわっ、マジか。そりゃきついな
タイプして2秒はありえない。

VBScriptでの実装も考えてみたが難しいし
こりゃもうCででも作るかな?
でもCOM触るの面倒なんだよな。

952 名前:デフォルトの名無しさん [2019/10/28(月) 12:44:27.32 ID:tEsfLTI+.net]
Windows Updateしたら大幅に下がったwww
今裏でなにかビルドしてるんかな? ngenとか?



953 名前:$ time powershell.exe -Command echo ok
ok

real 0m1.390s
user 0m0.000s
sys 0m0.016s
[]
[ここ壊れてます]

954 名前:デフォルトの名無しさん mailto:sage [2019/10/28(月) 13:01:44.65 ID:tEsfLTI+.net]
これやったけど速くならない(´・ω・`)
https://stofublog.wordpress.com/2014/01/01/powershell%E8%B5%B7%E5%8B%95%E9%AB%98%E9%80%9F%E5%8C%96%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6/

アップデート前まで速かったのに・・・

955 名前:デフォルトの名無しさん mailto:sage [2019/10/28(月) 13:15:03.68 ID:tEsfLTI+.net]
なにかやったような記憶をたどり、

https://superuser.com/questions/1212442/powershell-slow-starting-on-windows-10

. (Join-Path ([Runtime.InteropServices.RuntimeEnvironment]::GetRuntimeDirectory()) ngen.exe) update

↑これをPowerShell(管理者)で実行したら速くなった。(もとに戻った)
でも、一部指定されたファイルが見つかりません。とかエラーがでる。

よくわからんけど、このコマンドを実行してるだけ?
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\ngen.exe update

956 名前:デフォルトの名無しさん mailto:sage [2019/10/28(月) 13:24:18.55 ID:tEsfLTI+.net]
ここに情報があった。
https://blogs.msdn.microsoft.com/jpvsblog/2018/05/07/ngen/

v4.0.30319 というバージョンはいつ変わるんだろう?

957 名前:デフォルトの名無しさん mailto:sage [2019/10/28(月) 13:28:19.78 ID:tEsfLTI+.net]
Windows Updateしたせいかとも思ったけど、Visual Studio入れたからかもしれんな
ともかく、ngen updateしたらもとに戻った。
しばらく放置してても治るんだろうけど

958 名前:デフォルトの名無しさん mailto:sage [2019/10/28(月) 21:32:05.62 ID:WDVIXPLl.net]
強力そうなので始めてみたんだけど、たかが文字コード変換がなんで
さらっとできないんだろう…

959 名前:デフォルトの名無しさん mailto:sage [2019/10/28(月) 22:42:59.54 ID:8eaZgTeu.net]
C#もどうせ遅いんだろ?と思ってやってみたら単純なHello Worldだと0.1秒程度だった
PowerShellよりマシなのか。読み込むアセンブリで変わってくるとは思うけど
C++だと0.05秒。圧倒的だが情報が少なすぎる。



960 名前:デフォルトの名無しさん mailto:sage [2019/10/28(月) 22:43:45.66 ID:i5LGlrvW.net]
PowerShellがあれば、文字コード変換も簡単です。
scripting.cocolog-nifty.com/blog/2010/01/powershell-6147.html

961 名前:デフォルトの名無しさん [2019/10/29(火) 02:18:49 ID:vBIRwBaE.net]
echoが遅いことが判明

$ time powershell.exe -Command echo 1
1

real 0m0.378s
user 0m0.000s
sys 0m0.000s

$ time powershell.exe -Command 1
1

real 0m0.264s
user 0m0.000s
sys 0m0.000s

$ time powershell.exe -Command "[Console]::WriteLine(1)"
1

real 0m0.243s
user 0m0.000s
sys 0m0.000s

962 名前:デフォルトの名無しさん mailto:sage [2019/10/29(火) 03:21:02.42 ID:rBco2ITF.net]
echoというよりコマンドレットの呼び出しにコストがかかるんだよ
Write-Outputの使用はあらゆる場面で完全に無意味で無駄だから使わない方がいい

それについてブログ書いてる人もいた
https://get-powershellblog.blogspot.com/2017/06/lets-kill-write-output.html

963 名前:デフォルトの名無しさん [2019/10/29(火) 03:55:39.34 ID:vBIRwBaE.net]
>>920
そうなんだろうなって気はしてた。
まだどれがコマンドレットかそうでないかよくわかってないレベルだけどw

間にハイフンで区切られてて、呼び出しにカッコがいらないのはコマンドレットだよな?
Where-Objectとかもなくせば速くなるんだろうか?

ようやくC++で実装できそうな情報が溜まってきた。
Unicodeとか訳わかんねぇ。情報がバラバラで多すぎてわからん。
たったこれだけ、たったこれだけなのに!


C++で実装したら0.1秒。だけどバイナリのビルドが必要
PowerShellだと0.45秒。
CLIコマンドとしてサクッと実行したときの体感速度が違いすぎる。

964 名前:デフォルトの名無しさん mailto:sage [2019/10/29(火) 04:14:17.53 ID:rBco2ITF.net]
>>921
Where-Objectはめちゃくちゃ遅くて遅いコマンドレットの代表みたいな奴だから俺はスクリプトでは一切使わない
同様にForEach-Objectも遅い

何作ってるのか知らんけど

965 名前:C++はスレ違いだからあとはC++のスレでやった方がいい
powershell自体の起動も含めてC++で作ったバイナリより遅いとかいう情報は当然すぎるから要らない
[]
[ここ壊れてます]

966 名前:デフォルトの名無しさん mailto:sage [2019/10/29(火) 05:02:05.41 ID:CowX2GWO.net]
Ruby が良い。
Rubyから、クリップボード・powershell も使える。
CP932・UTF-8 の変換もできる

C++ は、コンパイル済みだろ。
コンパイル自体に時間が掛かるのは、Rubyも同じ

# クリップボード内の複数行文字列の、各行の先頭・末尾から、
# 連続する空白類を除去して、クリップボードに入れる

str = `powershell Get-Clipboard`
str.encode! Encoding::UTF_8, Encoding::CP932 # UTF_8 へ変換

ary = str.each_line.map( &:strip ) # 連続する空白類を除去する

IO.popen( 'clip', 'w:cp932' ) do | clip | # CP932 へ戻す
clip.print( ary.join "\n" )
end

967 名前:デフォルトの名無しさん mailto:sage [2019/10/29(火) 08:28:11.85 ID:+8XugnXa.net]
速いに越したことはないけど、PowerShel は速さを追求するもんじゃないだろうに。

>>923
お前は今すぐ呼吸するのをやめろ。お前に吸わせる酸素がもったいない。

968 名前:デフォルトの名無しさん [2019/10/29(火) 20:44:54.51 ID:ltL5L5Cn.net]
こっちのスレにも書いておくわ
Windows 10 1903、PowerShell 5.1.18362.145
コマンドプロンプトを起動して

C:\Users\user> powershell.exe -Command [Console]::OutputEncoding
BodyName : iso-2022-jp
EncodingName : 日本語 (シフト JIS)
HeaderName : iso-2022-jp
WebName : shift_jis
WindowsCodePage : 932
IsSingleByte : False
EncoderFallback : System.Text.InternalEncoderBestFitFallback
DecoderFallback : System.Text.InternalDecoderBestFitFallback
IsReadOnly : True
CodePage : 932

C:\Users\user> powershell.exe -Command [Console]::OutputEncoding = [Text.Encoding]::UTF8
UTF8に変更する。

C:\Users\user>powershell.exe -Command [Console]::OutputEncoding
BodyName : utf-8
EncodingName : Unicode (UTF-8)
HeaderName : utf-8
WebName : utf-8
WindowsCodePage : 1200
IsSingleByte : False
EncoderFallback : System.Text.EncoderReplacementFallback
DecoderFallback : System.Text.DecoderReplacementFallback
IsReadOnly : True
CodePage : 65001

それぞれ、別々のコマンドとして実行してるのに、状態が変わるのはなんで?

969 名前:デフォルトの名無しさん [2019/10/29(火) 20:47:41.08 ID:ltL5L5Cn.net]
しかも powershell.exe だけに影響する話じゃなくて、

UTF8で書いたファイルを、コマンドプロンプト起動直後、
シフトJISモードのときにtypeしたら文字化けし、

UTF8に変更してからtypeしたら文字化けしない
明らかにコマンドプロンプトの状態が変わってる。

だけどchcpの値は932のままかわらない
ただ、PowerShellを使ってUTF8モードに切り替えると、
chcpすると「Active code page: 932」と英語で表示される。



970 名前:デフォルトの名無しさん mailto:sage [2019/10/29(火) 23:40:36.07 ID:JjalWxmz.net]
>>878の問題は>>884で解決したのか?

971 名前:デフォルトの名無しさん mailto:sage [2019/11/02(土) 12:30:04.56 ID:1PdjBp7d.net]
この場合は True が返るんだけど(当然)、
Test-Path ${home}\ntuser.dat

こうした場合は False になる。
$a = [xml]('<?xml version="1.0"?><File>${home}\ntuser.dat</File>')
Test-Path $a.File

XML の値は、
"${home}\ntuser.dat" こうじゃなくて
'${home}\ntuser.dat' というふうに格納されてるようなんだけど、変数を展開するにはどうすればいいだろう?

972 名前:デフォルトの名無しさん mailto:sage [2019/11/02(土) 12:34:23.96 ID:dF2n6ehk.net]
invoke expression

973 名前:デフォルトの名無しさん mailto:sage [2019/11/02(土) 13:07:31.37 ID:esIitHWU.net]
>>928
そりゃ ' ' で囲ってりゃ展開しないだろ…
$a = [xml]"<?xml version=""1.0""?><File>${home}\ntuser.dat</File>"

974 名前:928 mailto:sage [2019/11/02(土) 13:33:24.00 ID:1PdjBp7d.net]
>>929
できた、ありがとう。

>>930
>>928 のサ

975 名前:ンプルの提示の仕方が悪かったが、実際には XML ファイルを読み込んでるので >>928 の形になります。 []
[ここ壊れてます]

976 名前:デフォルトの名無しさん mailto:sage [2019/11/02(土) 18:11:26.52 ID:71SUtLbe.net]
Powershellの演算子の優先順位が判るサイトが見当たらないんですがどっかにないですかね
演算子をカテゴリ毎に紹介してるサイトは多く見かけるんですが

977 名前:デフォルトの名無しさん mailto:sage [2019/11/02(土) 20:16:26.21 ID:0WeT0cpY.net]
https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_operator_precedence?view=powershell-5.1

978 名前:デフォルトの名無しさん mailto:sage [2019/11/03(日) 02:57:41.69 ID:hkCRv+PE.net]
>>933
ありがとうございます!助かりました!

979 名前:デフォルトの名無しさん mailto:sage [2019/11/03(日) 03:32:58.98 ID:Y1hBQ+8z.net]
どういたしまして!



980 名前:デフォルトの名無しさん [2019/11/05(火) 23:35:55.67 ID:ocMK86pm.net]
m(_ _)m誰か教えて下さい。

フォーム上にコンボボックスを大量配置したいのですが、一つずつ以下みたいに書くと大変です。
これを関数化する方法を教えて下さい。

$Combo = New-Object System.Windows.Forms.Combobox
$Combo.Location = New-Object System.Drawing.Point(10,10)
$Combo.size = New-Object System.Drawing.Size(150,30)

981 名前:デフォルトの名無しさん mailto:sage [2019/11/06(水) 02:58:52 ID:+N82MWJ/.net]
>>936
普通に$comboを返す関数を作ればいい
winforms書く時は使えるバージョンならusing namespaceを使った方がすっきりする
個人的にNew-Objectは遅いだけなのでなるべく使わない
暗黙の型変換を積極的に使うとすっきりする

using namespace System.Windows.Forms
Add-Type -AssemblyName System.Windows.Forms

function Create-ComboBox($Left, $Top, $Width, $Height) {
  $combo = [ComboBox]::new()
  $combo.Location = "$Left, $Top"
  $combo.size = "$Width, $Height"
  $combo
}

$form = [Form]::new()
$form.Size = "200,200"

$combo1 = Create-ComboBox -Left 10 -Top 50 -Width 160 -Height 30
$form.Controls.Add($combo1)

$form.ShowDialog()

982 名前:デフォルトの名無しさん mailto:sage [2019/11/06(水) 05:18:39 ID:+Isovp9U.net]
x.Size="1,2"
こういう書き方できるの知らんかった

983 名前:936 mailto:sage [2019/11/06(水) 11:38:21.31 ID:viRYf3W9.net]
>>937
大変ありがとうございました。助かりました。

なおWin7環境なのでusing...はカットして使ってます。

984 名前:デフォルトの名無しさん mailto:sage [2019/11/06(水) 19:25:34.62 ID:du9DeY6n.net]
>>939
5.0以上にアップグレードすればWin7でも使えるんじゃないの?インストール不可なだめだけど

985 名前:936 mailto:sage [2019/11/08(金) 09:54:16.57 ID:RMGDBEVY.net]
緊急でお願いします。マルチバイト文字のパディングのやり方を教えて下さい。サンプルコードがあると嬉しいです。

986 名前:デフォルトの名無しさん mailto:sage [2019/11/08(金) 10:20:36.03 ID:weGpRZzk.net]
入力と出力のサンプル位出したら

987 名前:デフォルトの名無しさん mailto:sage [2019/11/08(金) 10:20:37.27 ID:bpFYbH+Z.net]
うっかり bash と間違えて ctrl+R と打ってしまったんだけど、PowerShel でも同じように機能したんだな。
軽く感動したわ。

988 名前:デフォルトの名無しさん mailto:sage [2019/11/08(金) 10:41:43.51 ID:wfK2aVsO.net]
ctrl + Alt + shift + /
でショートカット一覧が出るからざっと見ておくといいよ

989 名前:デフォルトの名無しさん [2019/11/08(金) 11:47:48.53 ID:bt2cbsd4.net]
PowerShellにディレクトリ、ファイル名以外の
補完機能ってあるの?



990 名前:デフォルトの名無しさん mailto:sage [2019/11/08(金) 12:27:29.71 ID:CJ6EXBGx.net]
>>945
オプションとかオプションの値が選択肢ならそれも補完する
ユーザーが作ったコマンドでも補完できるから地味に便利

991 名前:デフォルトの名無しさん mailto:sage [2019/11/08(金) 14:17:43.58 ID:bpFYbH+Z.net]
>>944
なんと、超便利!


992 名前:閧ェとう! []
[ここ壊れてます]

993 名前:デフォルトの名無しさん mailto:sage [2019/11/08(金) 14:41:45.11 ID:wfK2aVsO.net]
ついでに以下のコマンドで画面だしとけばチートシートになるよ

Get-PSReadLineKeyHandler | ogv

994 名前:デフォルトの名無しさん mailto:sage [2019/11/08(金) 17:13:11.44 ID:bpFYbH+Z.net]
>>948
「俺専用PowerShellアンチョコ.txt」に記録した。重ね重ねありがとう。

995 名前:デフォルトの名無しさん [2019/11/09(土) 17:39:02.10 ID:LvjWth2U.net]
powershellで海外にアクセスできないように設定できますか?

996 名前:デフォルトの名無しさん mailto:sage [2019/11/09(土) 17:42:01.74 ID:FbsqDOHf.net]
海外とは

997 名前:デフォルトの名無しさん mailto:sage [2019/11/10(日) 05:11:31 ID:47iDVxCF.net]
そういやweb鯖のサンプルがあったな
ピロキシぐらい作れるよな

998 名前:デフォルトの名無しさん mailto:sage [2019/11/10(日) 16:21:24.11 ID:LxY6Tlm9.net]
海外鯖を経由しない通信にしたい。
それか海外からの通信をファイアウォールで
全部ブロックしたい。
って考えたらhostsしかないかな?
めんどくさいな。

999 名前:デフォルトの名無しさん mailto:sage [2019/11/10(日) 16:35:30.22 ID:z3CQn4/q.net]
自分ですべての経路把握する必要あるし無理じゃね?



1000 名前:デフォルトの名無しさん mailto:sage [2019/11/10(日) 17:15:59.31 ID:iyIsn8nz.net]
>>953
曖昧すぎてアドバイスのしようがないな

1001 名前:デフォルトの名無しさん mailto:sage [2019/11/10(日) 17:17:57.36 ID:uhrgfz89.net]
hostsに一体いくつ「海外」とやらのホストを指定するのやら
OS側でやるのが適当なのかそれ
業務用なのか個人用なのかもわからん

1002 名前:デフォルトの名無しさん mailto:sage [2019/11/10(日) 17:54:04.00 ID:otD8Z0ZU.net]
windows updateも海外なのか?

1003 名前:デフォルトの名無しさん mailto:sage [2019/11/10(日) 20:34:29.07 ID:LxY6Tlm9.net]
すみませんでした。そうなるとなんかややこしくなりそうなのでやめます。
ブラウザの拡張でやりますわ。
ありがとうございました。

1004 名前:デフォルトの名無しさん mailto:sage [2019/11/11(月) 08:27:46.29 ID://Nnw6zP.net]
Windows PowerShell を使用した高度なセキュリティ管理を使用する windows Defender ファイアウォール
https://docs.microsoft.com/ja-jp/windows/security/threat-protection/windows-firewall/windows-firewall-with-advanced-security-administration-with-windows-powershell

1005 名前:デフォルトの名無しさん [2019/11/11(月) 17:18:43.20 ID:WYwNeQAp.net]
ありがとうございました。

1006 名前:デフォルトの名無しさん mailto:sage [2019/11/18(月) 08:47:59.75 ID:604fXs7f.net]
タブストップ中コンボボックスの文字の背景色を青ではなく薄水色にしたいのですが、やり方がわかりません。ご存知の方、よろしくお願い申し上げます。

1007 名前:自己レス mailto:sage [2019/11/18(月) 12:09:14.04 ID:604fXs7f.net]
>>961
https://stackoverflow.com/questions/38981877/listbox-alternating-shading-powershell

1008 名前:デフォルトの名無しさん mailto:sage [2019/11/18(月) 15:09:03.25 ID:Crm1ovkb.net]
test 452452424524524

1009 名前:デフォルトの名無しさん mailto:sage [2019/11/18(月) 15:10:33.45 ID:Crm1ovkb.net]
Windows 10 に標準搭載された OpenSSH と PowerShell の機能だけを使用して、公開鍵をサーバにアップロードしたいと考えています。
(ssh-copy-id は shell スクリプトなので Windows 版の OpenSSH には含まれていない)



1010 名前:デフォルトの名無しさん mailto:sage [2019/11/18(月) 15:11:33.77 ID:Crm1ovkb.net]
調べた結果、まず以下のコマンドが cmd.exe 上では完璧に動作することを確認しました。
※元のコードを貼ると 403 Forbidden となるので Pastebin を使ってます
https://pastebin.com/kCqKQm9T

これを以下の通り PowerShel に置き換えました。
https://pastebin.com/CSE9sCnB

一応、公開鍵のアップロードまでは出来たんですけど、ssh.exe のプロセスが終了しません。
(wait = $true にした場合はプロンプトが返ってこない)
何が悪いんでしょうね。

1011 名前:デフォルトの名無しさん mailto:sage [2019/11/18(月) 15:15:42.87 ID:Crm1ovkb.net]
追伸:CloudFlare で 403 Forbidden になってたのはレスに cmd.exe という文字列が含まれいたのが原因のようです。コードは関係なかったっぽい。

1012 名前:デフォルトの名無しさん mailto:sage [2019/1 ]
[ここ壊れてます]

1013 名前:1/18(月) 15:35:44.61 ID:Crm1ovkb.net mailto: どうやら、ssh.exe に対して公開鍵の文字列をパイプで渡した場合は正常終了するのですが、標準入力で渡した場合はプロセスが残ることが分かりました。
cmd.exe 上でも、標準入力で渡した場合はプロセスが残ります。
Start-Process は「You cannot pipe input to this cmdlet.」とのことでパイプからの入力を受け付けないんですけど、なにか良い手はないですかね?
[]
[ここ壊れてます]

1014 名前:デフォルトの名無しさん mailto:sage [2019/11/18(月) 16:07:26.07 ID:Crm1ovkb.net]
何度もすみません、自己レス。

パイプならよかろう、ということで以下の3パターンで試したところ、ssh.exe は正しく終了するようになったのですが、authorized_keys には CL+LF が追加されてしまいました。
$PubKey = Get-Content "${home}\.ssh\id_rsa.pub"
Write-Output $PubKey -NoEnumerate | ssh root@${DST} "umask 077; test -d .ssh || mkdir .ssh ; cat >> .ssh/authorized_keys"
Out-String -InputObject $PubKey | ssh root@${DST} "umask 077; test -d .ssh || mkdir .ssh ; cat >> .ssh/authorized_keys"
type "${home}\.ssh\id_rsa.pub" | ssh root@${DST} "umask 077; test -d .ssh || mkdir .ssh ; cat >> .ssh/authorized_keys"

最終的に、これで妥協しました。ダサい。もっとスマートな書き方はないものだろうか。
https://pastebin.com/KpKkuGcQ

1015 名前:デフォルトの名無しさん mailto:sage [2019/11/18(月) 16:13:01.04 ID:Crm1ovkb.net]
ごめんなさい、標準入力では ssh.exe が終了しない原因が分かりました。
sshkeygen で生成された id_rsa.pub は、行末で改行していないためでした。
エディタで開いて改行させたところ、
https://pastebin.com/CSE9sCnB
これでも動作しました。

お騒がせしました。

1016 名前:デフォルトの名無しさん mailto:sage [2019/11/19(火) 00:02:22.77 ID:rlpD1oBO.net]
参考になった ありがとう

1017 名前:デフォルトの名無しさん mailto:sage [2019/11/20(水) 13:28:40.93 ID:aW1lygKI.net]
どういたしまして

1018 名前:デフォルトの名無しさん mailto:sage [2019/11/24(日) 16:11:02.22 ID:UhvIpOa2.net]
Get-ChildItemで困っている事があります。
解決方法を知っている方がいましたら教えてください。

*.txt *.bin
などの拡張子を持つファイルを一括して集める場合
$result = Get-ChildItem *.txt,*.bin
とすれば集まりますが
hoge,hage.txt
というファイル名に、 ',' が含まれているファイル名があると、 *.txt,*.bin のようなセパレーターとして認識してしまい
ワイルドカードにヒットするbase nameが hoge までになってしまい$resultに値が入ってきません。
','などのセパレーターを含むファイル名を Get-ChildItem でワイルドカード指定するにはどうすればよいでしょうか?

1019 名前:デフォルトの名無しさん mailto:sage [2019/11/24(日) 16:29:56.73 ID:E4b/CXSq.net]
>>972
何をしたいのかいまいちよくわからんがとりあえず
Get-ChildItem 'hoge,hage.*', '*.txt'
とかでいいんじゃね?



1020 名前:デフォルトの名無しさん mailto:sage [2019/11/24(日) 20:06:33.13 ID:JDFz9pDe.net]
うちはGet-ChildItem *.txt,*.binで引っかかるけど
dir *.txt,*.bin | ?{ $_.Name -like "h*"}でフィルタして確認してみれば?

1021 名前:デフォルトの名無しさん [2019/11/28(木) 17:33:57.96 ID:G1SJ/xZS.net]
スクリプトで
VPNセッションを張って、opensshでLinuxサーバーにログインしたいんですが、クレデンシャル情報ってどう引き渡せば良いですか?

1022 名前:デフォルトの名無しさん mailto:sage [2019/11/28(木) 17:35:59.16 ID:KHBZf3ql.net]
どこのクレデンシャル情報を、どこに渡すんです?

1023 名前:デフォルトの名無しさん [2019/11/28(木) 17:40:45.55 ID:G1SJ/xZS.net]
>>976
ssh、vpnのコマンドにです

1024 名前:デフォルトの名無しさん mailto:sage [2019/11/28(木) 17:41:50.79 ID:KHBZf3ql.net]
そのクレデンシャル情報には何が書かれてるんです?

1025 名前:デフォルトの名無しさん mailto:sage [2019/11/28(木) 17:42:46.64 ID:KHBZf3ql.net]
ssh、vpnにクレデンシャル情報を渡すとどうなるんです?
どうなるように設定したんですか?

1026 名前:デフォルトの名無しさん [2019/11/28(木) 18:10:58.12 ID:G1SJ/xZS.net]
すいません。
ここで聞いたのが間違いでした。
Linuxサーバーにログインしたいと書いてあるのにどうしたいと言われても困りますので。
では。

1027 名前:デフォルトの名無しさん mailto:sage [2019/11/28(木) 18:17:16.35 ID:KHBZf3ql.net]
だからログインできるようにLinuxサーバーに設定したんですか?

1028 名前:デフォルトの名無しさん mailto:sage [2019/11/28(木) 19:03:26.14 ID:o2XGBpkX.net]
VPN関係あるの?
ssh -i 秘密キーファイル ユーザー名
という外部コマンドの呼び出し方を聞いてる

1029 名前:フ? []
[ここ壊れてます]



1030 名前:デフォルトの名無しさん mailto:sage [2019/12/18(水) 06:19:20.47 ID:DPpTEq4j.net]
ちょっと気づいたのでメモ

ハッシュテーブルからいろいろな型にキャストするのがわりといろんな場面で使える
例えば>>936は次のように書ける

using namespace System.Windows.Forms
Add-Type -AssemblyName System.Windows.Forms

$form = [Form]@{ Size = "200,200" }
$combo = [ComboBox]@{ Location = "10,50"; Size = "160,30" }
$form.Controls.Add($combo)

$form.ShowDialog()


もし"200,200"ってのが気持ち悪いならさらに

$form = [Form]@{ Size = @{ Width = 200; Height = 200 } }

としてもいい

1031 名前:デフォルトの名無しさん mailto:sage [2019/12/18(水) 06:21:03.31 ID:DPpTEq4j.net]
すまん>>936じゃなくて>>937だったわ

1032 名前:デフォルトの名無しさん mailto:sage [2019/12/18(水) 23:38:33.69 ID:kDyrT7eN.net]
キャストでオブジェクト生成か
理屈は判るけどキモイな

1033 名前:デフォルトの名無しさん mailto:sage [2019/12/19(木) 21:20:43.94 ID:A7bzsjq6.net]
C#のオブジェクト初期化子みたいなものだと思えばいいかも

1034 名前:デフォルトの名無しさん [2019/12/31(火) 07:16:04.44 ID:xfr0s5Fj.net]
怒らないで教えて欲しいんだが

WSLでよくね?

1035 名前:デフォルトの名無しさん mailto:sage [2019/12/31(火) 07:38:32.37 ID:Ttaqvt+E.net]
いや誰もPowerShellを万能の利器とは考えてない
適材適所

1036 名前:デフォルトの名無しさん mailto:sage [2019/12/31(火) 09:49:11.63 ID:ZmMnRfLg.net]
>>987
それに答えるためには、お前が何をしたいのかを聞く必要がある

1037 名前:デフォルトの名無しさん mailto:sage [2019/12/31(火) 09:53:59.69 ID:vL9iUG+A.net]
WSL使うなら最初からLinuxをインストールして使えばいい

1038 名前:デフォルトの名無しさん mailto:sage [2019/12/31(火) 21:14:44.78 ID:wxhVB0za.net]
WSLていうかUNIXシェルでいいなら、なんでLinuxユーザーがわざわざPowerShellを使ってると思うの?

https://msit.powerbi.com/view?r=eyJrIjoiYTYyN2U3ODgtMjBlMi00MGM1LWI0ZjctMmQ3MzE2ZDNkMzIyIiwidCI6IjcyZjk4OGJmLTg2ZjEtNDFhZi05MWFiLTJkN2NkMDExZGI0NyIsImMiOjV9&pageName=Re

1039 名前:portSection5 []
[ここ壊れてます]



1040 名前:デフォルトの名無しさん mailto:sage [2019/12/31(火) 21:26:22.98 ID:4NGA+Zr1.net]
>>991
知らない教えて

1041 名前:デフォルトの名無しさん mailto:sage [2019/12/31(火) 21:58:25.71 ID:ajjU1twk.net]
事情があって嫌々ながらLinux使わざるをえないWindowsユーザーがPowershell採用してる

1042 名前:デフォルトの名無しさん mailto:sage [2019/12/31(火) 22:01:43.89 ID:FiZAbpfr.net]
PowerShellのほうが強力だしな

1043 名前:デフォルトの名無しさん mailto:sage [2020/01/01(水) 08:33:54.15 ID:KGLKi7tz.net]
そろそろ Ruby ガイジが出てくる頃かな?

1044 名前:デフォルトの名無しさん mailto:sage [2020/01/01(水) 13:06:34.59 ID:voSHdO49.net]
rubyくんが出るのは、スクリプトを作れるような質問が出たときだろ

1045 名前:デフォルトの名無しさん mailto:sage [2020/01/01(水) 15:19:12.54 ID:IT8L/q0G.net]


1046 名前:デフォルトの名無しさん mailto:sage [2020/01/01(水) 15:19:29.24 ID:IT8L/q0G.net]


1047 名前:デフォルトの名無しさん mailto:sage [2020/01/01(水) 15:19:45.39 ID:IT8L/q0G.net]


1048 名前:小倉優子 mailto:sage [2020/01/01(水) 15:20:34.34 ID:IT8L/q0G.net]
  ∧,,,∧ 
 (  ・∀・) 1000ならジュースでも飲むか
  (    ) 
  し─J 

1049 名前:1001 [Over 1000 Thread.net]
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 448日 21時間 33分 46秒



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






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

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

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