【最強CUI】PowerShell -Part 2 [無断転載禁止]©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
2016/11/26(土) 06:30:02.67ID:pZYy6q7Y
前スレ
【最強CUI】PowerShell -Part 1
http://echo.2ch.net/test/read.cgi/tech/1378978504/
2017/06/24(土) 22:52:36.56ID:jPQQGq+C
単純なものだよ
psでhttpリクエストを待ち受ける
シンプルなルーティングルールでコンテンツに振り分ける
コンテンツをテンプレートに従い変換してレスポンスを返す
これで十分
他の言語なら10数行で書けるしpsでも大差ないだろ
このアイデアに比べたらNotepadでc#なんてバカバカしいよ
120デフォルトの名無しさん
垢版 |
2017/06/24(土) 22:54:17.14ID:AiSsJYjg
>>119
メモ帳を使っているやつなんかいるかよw
学生?
2017/06/24(土) 22:57:40.88ID:jPQQGq+C
>>120
世の中は君が思うようなゆとり環境ばかりではないということ
厳しい制限の中で何ができるか模索することができないと君が卒業後キツいぞ
122デフォルトの名無しさん
垢版 |
2017/06/24(土) 23:00:55.63ID:AiSsJYjg
>>121
サーバー上でメモ帳しかないならわかるが、わざわざサーバー上で書く必要もない。
2017/06/24(土) 23:04:32.95ID:jPQQGq+C
>>122
発想が貧弱
2017/06/24(土) 23:05:18.10ID:M1pK/2YY
え、そりゃもちろんISEじゃないの?
125デフォルトの名無しさん
垢版 |
2017/06/24(土) 23:11:41.81ID:AiSsJYjg
>>123
あなたはサクラエディタが使える環境を想定しているのに、わざわざメモ帳でやろうとするところが変。
126デフォルトの名無しさん
垢版 |
2017/06/24(土) 23:15:04.67ID:AiSsJYjg
>>123
統合開発環境がどこにでもあると思っているパターンだろ?

開発機と本番機が同じだったり、ネットワークでつながっていたりする環境しか知らない。
2017/06/24(土) 23:32:04.17ID:BBTzLwWV
YouTubeにある、T Umezawa のプログラミング動画では、
秀丸でJava、メモ帳でC#、などで作っている

土方を極めると、補完よりも、キータイプの方が速いw
128デフォルトの名無しさん
垢版 |
2017/06/25(日) 06:09:07.77ID:wnVI7vr5
>>127
初心者はコード補完をありがたがるんだよな。あんなの覚えていたり、コピーで作るからなくてもいい。間違って選択する可能性もある。そんなにあわてて作ることなんてないもん。
129デフォルトの名無しさん
垢版 |
2017/06/25(日) 08:27:22.56ID:q2vWG5qk
Programmer's Notepad
http://www.pnotepad.org/
C#入門
http://dotinstall.com/lessons/basic_csharp
2017/06/25(日) 08:30:32.82ID:ffAutXm5
アスペしかいねえな
2017/06/25(日) 09:23:24.05ID:fMxhTN4O
>>119
> 他の言語なら10数行で書けるしpsでも大差ないだろ
書いてから言えば?
132デフォルトの名無しさん
垢版 |
2017/06/25(日) 09:32:52.64ID:wnVI7vr5
生産性向上のために統合開発環境が必要と言うやつほど、仕事が遅いという傾向がある。ようは時間をかけるところを間違っている。
2017/06/25(日) 09:50:09.89ID:ffAutXm5
メモ帳やサクラエディタでc#やるのはキツいって話から一気に統合開発環境まで飛躍するんだ
2017/06/25(日) 10:30:07.25ID:WQxeemkA
最近はVisual Studio Codeで書いてる
135デフォルトの名無しさん
垢版 |
2017/06/25(日) 11:06:37.53ID:wnVI7vr5
>>133
俺はきついなどと言ってないが?
2017/06/25(日) 12:55:56.29ID:lpQuvt0E
珍しく伸びてると見てみればバカが大暴れしてただけだったw
2017/06/25(日) 13:12:09.69ID:fMxhTN4O
>>135
お前が誰かは知らんけど>>115には気が狂うほどキツイらしいぞ
2017/06/25(日) 13:20:58.23ID:WQxeemkA
>>132
Designer.csやResourceを全部手書きしたりしてんの?
139デフォルトの名無しさん
垢版 |
2017/06/25(日) 15:20:14.95ID:wnVI7vr5
>>138
全否定しているわけではない。そもそも毎回いちから作らない。
2017/06/25(日) 16:46:11.14ID:ffAutXm5
PowerShellユーザーのレベルってこんなものか
141デフォルトの名無しさん
垢版 |
2017/06/25(日) 17:16:04.58ID:wnVI7vr5
>>140
コード書きに時間をさく、重要視しすぎるのは経験の少ないひとの特徴。
142デフォルトの名無しさん
垢版 |
2017/06/25(日) 17:21:05.34ID:cBKwT0iz
>>140
ちょっとこっちのレベル見て来て

【.cmd】 バッチファイルスクリプト %12 【.bat】
http://mevius.2ch.net/test/read.cgi/tech/1489207631/
2017/06/25(日) 17:30:49.30ID:fMxhTN4O
>>140
2chで判断するバカ乙
2017/06/25(日) 17:42:26.66ID:ffAutXm5
ん〜この反応の良さwww
2017/06/25(日) 18:09:14.46ID:yXb23ZWN
使えるなら便利なものを使えばいいけど
フリーソフトなんかインスコ出来ないんだろ
notepadでも仕方ないじゃんか
別の(自由な)PCが使えるならソッチで書けばいい
2017/06/25(日) 18:17:09.04ID:RuMg9Z/7
IIS、asp.netが有効化出来るんなら大分楽になりそうなんだけど
2017/06/25(日) 18:18:59.11ID:7Ebwbe24
PowerShell ISEは使えないの?
2017/06/25(日) 18:28:34.48ID:yXb23ZWN
良く読んだら、Visual Studio無いってことは、コンパイル環境も無いってことか
じゃあJDKはあるんだからJavaで作るのが現実的じゃないかな
2017/06/25(日) 18:30:37.67ID:1WC2t8my
だからコンパイルしなくても.NET Frameworkは使えるし
Powershell ISEはPowershellと一緒に入ってるだろって話だよ
2017/06/25(日) 18:37:08.45ID:ffAutXm5
>>148
今はJDKがあるけど次もあるとは限らない
Windowsにデフォルトで入ってるPowerShellでやるということに意味がある
2017/06/25(日) 18:42:55.46ID:yXb23ZWN
将来を考えるんなら、今は面倒でも
Visual Studioのインストールの許可を貰うのが一番だと思う
2017/06/25(日) 18:49:23.13ID:yXb23ZWN
ああ業務(会社内身内だけであっても)で使うんならVisual Studioを購入する稟議がおりないのか
2017/06/25(日) 18:57:22.49ID:uMirXT24
プロジェクトルームのPCにろくなもん入ってないことは良くある
ネットは使えないしインストール許可はもちろん下りない
2017/06/25(日) 19:12:53.84ID:fMxhTN4O
>>148
> 良く読んだら、Visual Studio無いってことは、コンパイル環境も無いってことか
無知は黙ってなよ...
155デフォルトの名無しさん
垢版 |
2017/06/25(日) 21:18:31.50ID:cBKwT0iz
ソースコードに書かれた、退職した人からの隠されたメッセージが怖いと話題に
ttp://hayabusa3.2ch・sc/test/read.cgi/news/1498229496/
> 107 名前:名無しさん@涙目です。(栃木県)@\(^o^)/ [US][sage] 投稿日:2017/06/24(土) 00:25:14.51 ID:gtItCgjB0.net
>   秀丸で開発は死にたくなるわ
>   もうIDEなしではなにもできない

> 111 名前:名無しさん@涙目です。(静岡県)@\(^o^)/ [US][] 投稿日:2017/06/24(土) 00:27:21.91 ID:y67Dbtee0.net
>   >>107
>   生産性が全然違うわな…
>   これ、どんなシステムのソースなんだろね
>   もう人間にCのソース書かせるのは虐待レベルかもしれんな

> 557 名前:名無しさん@涙目です。(チベット自治区)@\(^o^)/ [US][] 投稿日:2017/06/24(土) 14:13:41.00 ID:Mt7vWmnB0.net
>   >>107
>   会社にもいるわ秀丸使ってるの
>   ライセンス払ってないしやめて欲しいんだけど
2017/06/25(日) 21:32:51.85ID:6to7bpK7
>>148
コンパイルしてんのはVisual StudioじゃなくてMSBuild(Roslyn)なんだが
157デフォルトの名無しさん
垢版 |
2017/06/26(月) 00:11:28.58ID:q7GF7ZpN
SDKが入ってないとコンパイルできないだろ
2017/06/26(月) 00:41:32.93ID:RgMKiEkv
>>127
を読んでくれ

YouTubeにある、T Umezawa のプログラミング動画を見てくれ
2017/06/26(月) 06:01:36.01ID:muOV6x9Q
>>158
そんな初歩的で有名な内容の動画は誰でも知ってるよカス
2017/06/26(月) 06:45:14.53ID:0gJ2UQLe
>>156
MSBuild はコンパイラじゃねーし、Roslyn 言いたいだけやろ

>>157
無知は黙ってな
って言われただろ
2017/06/26(月) 07:45:09.96ID:muOV6x9Q
PowerShellユーザーってレベル低すぎだろ
こりゃ流行らんわけだわ
162デフォルトの名無しさん
垢版 |
2017/06/26(月) 08:11:40.80ID:78rqJMYE
プログラムに詳しいID:muOV6x9Q「PowerShell ユーザーのレベルが低くて PowerShell が流行らない」

俺「PowerShell の実行速度知ってるのかな。」
2017/06/26(月) 08:22:22.12ID:c0IFcJ5l
>>160
MSBuildはVisual Studioで使われてるビルドツールだから特に間違ってない
2017/06/26(月) 09:28:00.38ID:ScEYSwyJ
>>162
おバカ自慢要らねぇ
2017/06/26(月) 12:34:32.67ID:1MMeaTZS
>>163
cc がコンパイラーだと思ってる初心者が背伸びしてるのか? w
2017/06/26(月) 13:04:20.33ID:DBzkOTjN
>>165
>>148
2017/06/26(月) 13:11:01.82ID:Wgv2F8mm
>>165
背伸びしすぎ
168デフォルトの名無しさん
垢版 |
2017/06/26(月) 16:48:34.60ID:78rqJMYE
>>164
PowerShell が流行ってないなら、何が流行っていると言うのか。
Python か?
Ruby か?
2017/06/26(月) 18:25:37.00ID:1MMeaTZS
>>166
だから無知は黙っとけよ
Windows 7 なら初めから csc.exe は入ってる

>>167
どこが背伸びしてるかも書けなくてクヤシー
ってか w
2017/06/26(月) 22:20:40.86ID:ta2e2oUg
bashでいいんだよね
最近はwindowsでも当たり前のように動くし
あの不恰好なハイフンケースも見なくて済む
2017/06/27(火) 00:10:11.76ID:i+35CN1y
bash はテキストを扱うけど、PowerShell はオブジェクトを扱う

だから今では、Linux でも、PowerShell を使う
2017/06/27(火) 22:13:55.29ID:yIuIIYT1
>>134
俺も
同じMSだし相性良い
2017/06/27(火) 22:24:35.01ID:yIuIIYT1
オブジェクトパイプラインは
シェルスクリプトに相性最高だから
PowerShell使ってる
2017/06/27(火) 23:07:35.60ID:9pQu4/DR
PowerShellで動くGradleみたいなタスクランナーないのか?
適当なタスクはPowerShellで書いて難しいのは.NETでプラグイン書いて拡張みたいな
2017/06/30(金) 11:05:09.77ID:4xsmuURB
スタート右クリック -> コンピュータの管理 -> サービス一覧にHomeGroupListenerがありますが
Powershellのサービス表示コマンドgsvでHomeGroupListenerが出てきません
何故でしょうか?分かる方教えてください
2017/07/01(土) 10:38:47.37ID:365+VqkD
>>175
Powershellを管理者として実行してる場合は出てくる
標準ユーザーからだと見れない設定になってるみたい
2017/07/01(土) 12:41:01.54ID:nJF3cNqk
>>176
わっかりましたー、おかげさまで確認できました
ありがとうございましたー^^
2017/07/07(金) 00:02:12.03ID:i4NCWQ7g
コマンドプロンプトでbatファイルで「powershell -command '〜'」の形式で実行したいと考えています。
Excelのセルの値にセル内改行が入っている場合、〜.text.replace("`n","")で取り除けないかと考えていたのですが、
シングルクォーテーションで囲っているからか「`n」の部分が改行コードと認識されないようで、うまくいきませんでした。

powershellのISEで「powershell -command」を除いて「'〜'」の部分をシングルクォーテーションを除いて実行すればできるらしいことは分かったのですが、
「powershell -command」を除かないbatファイル形式だと実行できないままで、じゃあbatファイル形式だと本当にできないのかどうかが判断できないでいます。

詳しい方がいたら、batファイル形式でExcelのセル内改行を除くことができるか、実現の可否を教えてもらえるとありがたいです。
2017/07/07(金) 11:06:45.17ID:FdUpDhVC
スクリプト書いたPS1ファイル呼び出すのはではいかんの?
2017/07/07(金) 15:24:04.06ID:ZubRvcdJ
>>178
セル内改行やらシングルクォーテーションやらを除いて何たらのくだりがよく分からないのですが
とにかくbatファイルからPowerShellを呼び出して改行コードを消すのはできましたよ

batファイルだとコマンド内のダブルクォーテーションをエスケープするのが面倒だし、>>179が言われるように
PS1ファイルにコマンドを書いて、それを呼び出すのが一番良いと思います


REM 改行コードあり
start cmd /k powershell -command "$a=\"hoge`nfuga\";$a"

REM 改行コード削除
start cmd /k powershell -command "$a=\"hoge`nfuga\";$a.replace(\"`n\", \"\")"
2017/07/08(土) 16:14:05.15ID:fy9+Ir4c
>>179-180
別の言語環境からPowershellを実行しようと考えていました。
PS1を呼び出そうとしても管理者権限がなく、
客先なので権限的に難しいです;

コードは試してみてうまくいきました。
ありがとうございました。
2017/07/08(土) 16:29:51.81ID:If7Rv9IA
管理者権限は要らなくないか
ExecutionPolicyじゃないの?
2017/07/08(土) 23:33:03.82ID:VtagckP8
`nを取り除くだけならコマンドプロンプトだけでできる
>set a="hoge`nfuga"

>echo %a%
"hoge`nfuga"

>echo %a:`n=%
"hogefuga"
2017/07/11(火) 21:26:19.29ID:dObX9Tuu
>>182-183
客先でget-executionpolicyを実行した結果、restictedでした。
変更しようとしたらアクセス拒否されました(客先なので管理者権限無し)。
なおVersionは2.0です;

Excelのセル内改行を処理することが目的でした。
コマンドプロンプトだとExcelを開いてその中身を操作することはできないはず
(できるとしたら、方法知らないです)。
2017/07/11(火) 22:19:00.44ID:tVDhCjRI
じゃあ>>180が採用されるわけだ
2017/07/12(水) 07:03:56.26ID:etjmSHNj
>>184
この辺は試してみた?
http://qiita.com/alchemist/items/e6706cd425f8f5e5032e
2017/07/14(金) 21:53:58.88ID:c553lDJr
>>186
タイミング悪くて試すの来週になりそうです;
2017/07/15(土) 11:47:00.67ID:gU/I/qic
>>186が完璧すぎてコレで解決すると思いますが、あえて、あえて欠点を言うならば
batファイルとps1ファイルの2つを管理することになることです、、そこでbatファイルだけで済ませてみようのコーナー!

rem --------------------------------------------------------------------------------
rem ダブルクォート内のダブルクォートは\でエスケープ
rem アンパサンド、パイプ、括弧などの特殊文字は^(キャレット)でエスケープ
rem %(ForEach-Object)は%%
rem --------------------------------------------------------------------------------
set cmd=^
$a=\"hoge`nfuga\";$a.replace(\"`n\", \"\");^
gsv ^| ?{$_.status -eq \"stopped\"} ^| select-object -first 5 ^| %%{$_.displayname}

start cmd /k powershell -command "%cmd%"


いかがでしょうか、エスケープまみれで若干見難くメンテナンス性に欠けてる雰囲気を醸し出していながら
あら?案外PowerShellのコマンド呼び出せるじゃん?結構複雑な処理もできるじゃん?という可能性を感じて頂けると思います
2017/07/15(土) 12:12:56.60ID:CHIBYjTE
JScriptをバッチで書こうってのと同じ発想だね
ちょっと面白かったけど結局使わなくなったな、やっぱメンテナンス性が悪い
2017/07/16(日) 00:34:24.44ID:6e3IGmZV
>>188
そこに正規表現書こうとして破綻したわ
2017/07/18(火) 00:43:14.54ID:LF/cbAfz
https://ja.stackoverflow.com/questions/28565
これと同じ状況に直面して困っているのですが解決法って無いですかね?
バッググラウンドで処理したいのですが
2017/07/18(火) 19:39:55.11ID:8H3gajGs
>>186
方法2が実行できることを確認しました。
知らなかったので、感謝です。
2017/07/18(火) 20:10:46.16ID:gVG2yFi+
>>186
横からだけど俺も知らなかった
参考になったわ、ありがと
2017/07/19(水) 20:06:04.65ID:eaxCHqjh
Microsoft、「PowerShell」のロードマップを公開 〜クロスプラットフォーム版へ一本化 - 窓の杜
http://forest.watch.impress.co.jp/docs/news/1071229.html
2017/07/19(水) 20:10:29.98ID:iHePPUWI
>>194
ゴミクズになりそう
2017/07/19(水) 21:28:06.47ID:54vs2xq7
>>194
ソースを一本化するって話だろ
メンテ工数考えたらあたり前だわな
2017/07/25(火) 13:13:50.66ID:7WSyTY3M
スマホ開発の選択肢にPowershellが入るのはいいね
198デフォルトの名無しさん
垢版 |
2017/07/26(水) 15:57:09.64ID:oWetxvTP
「将来のリリースでは削除予定(中略)

削除
Outlook Express
ペイント

非推奨
IIS用のRSA/AES暗号化
Windows PowerShell 2.0

ペイントが削除されることは大きな話題となり、これを受けて
MicrosoftはペイントをWindowsストアで提供する計画を明らかにした」

Windows 10 Fall Creators Updateで削除される機能が公表される。
ペイントは「非推奨」となりWindowsストアで提供 | スラド IT
https://it.srad.jp/story/17/07/26/056231/
2017年07月26日 14時42分
2017/07/26(水) 18:57:43.84ID:5CdvSxCd
ペイント時々使うんだよね
2017/07/26(水) 22:11:57.59ID:gz+R3HSW
>>199
メモ帳、ペイント、電卓
はたまに使う
2017/07/26(水) 22:23:47.20ID:CHI9wvnv
これを期にペイントも変えるか
Paint.netがクセ少なくてよかった気が
202デフォルトの名無しさん
垢版 |
2017/07/27(木) 00:20:15.41ID:QED4HDCh
>>200
毎日使ってる。

メモ帳は F5で日時入れて日記
あと、書式を削除して文字列をコピペするときに中継につかう。

ペイントは保存だけだけどキャプチャしたサイズで保存できるから便利だった。
2017/07/27(木) 07:04:28.87ID:P1js1uXh
>>202
> 書式を削除して文字列をコピペするときに中継につかう。
これは俺もよく使ったな
2007 辺りから Office でテキストだけの貼り付けができるようになったのでだいぶ出番は少なくなったけど
204デフォルトの名無しさん
垢版 |
2017/07/27(木) 22:36:14.85ID:wZCn8yX+
>>202
オレ書式消す時にはwebブラウザの検索欄使ってるわ。
メモ帳起動するのも面倒くさい。
2017/07/28(金) 00:13:48.81ID:BWZfnzS5
PSのスレとしてはこれを使いやすいとこに置いとくとかが正解では
v5.0以降じゃないと動かないけど

(Get-Clipboard)|Set-Clipboard
2017/07/28(金) 08:25:38.61ID:qWRZaL/E
>>204
コピペするのは一行だけとは限らんから
207デフォルトの名無しさん
垢版 |
2017/07/28(金) 12:33:26.50ID:WvgdGCet
>>206
逆に言えば、ブラウザ検索窓で済むくらい、一行が多いって事じゃね?
2017/07/28(金) 12:57:50.67ID:qWRZaL/E
>>207
>>204はそうなんだろうな
でも>>202とか俺(>>203)は違うってだけの話
209デフォルトの名無しさん
垢版 |
2017/08/07(月) 09:28:31.23ID:ZOe0YyE+
 あまり仕様を理解してないせいかもしれませんが,オブジェクトのプロパティに最後のひと押しをしたい時に,よい書き方が分かりません。教えてください。

 例えば chrome の プライベートメモリサイズの合計を調べたいとします

>>> gps chrome | Measure-Object PM -sum

 ここまでは良いのですけど。 さらに総和を 1mb で割りたいとします。
 果たしてもう一度パイプを通すべきなのでしょうか。

>>> gps chrome | Measure-Object PM -sum | % {$_.sum/1MB}

 この「パイプを通して foreach……」というのが,方法としておかしい気がするんです。
 ただの考え過ぎかもしれませんが,似たようなケースで多々も同じ方法を使っていて……いつも不安になってます。

 どなたかご教授いただければ幸いです。
2017/08/07(月) 10:25:25.82ID:LLOFEtR0
>>209
>この「パイプを通して foreach……」というのが,方法としておかしい気がするんです。
なぜおかしいと思うの?
2017/08/07(月) 10:38:22.40ID:aJuSimYa
>>209
自分もおかしくないと思うけど、パイプ使いたくないならこうすれば?

(gps chrome | Measure-Object PM -sum).sum / 1mb
2017/08/07(月) 23:13:09.50ID:zeLxf/vG
>>210
一個しかデータが無いのが分かってるのにforeachってところじゃ無い?
213デフォルトの名無しさん
垢版 |
2017/08/07(月) 23:18:53.21ID:ZOe0YyE+
 そこまでおかしくないということでしたら安心しました。

 おかしいかというよりかは PowerShell においてこれが自然な方法かどうかが気になっていました。
 プロパティを調べるにはただ obj.sum と書くのが自然な気がしたからです。そのために別の手続きを幾つか経過させるべきなのか迷っていました。
 その意味では >>211 さんの方法がより良い気がします。

 PowerShell では,代入文などを使って素朴に書いたほうが綺麗にできているのかもしれません。

 自然だとか綺麗だとかは個人的な美学の問題ですし,PowerShell が出始めたころに出し尽くした議論だとは思いますけど……。

 どうもありがとうございました!
2017/08/08(火) 01:16:03.36ID:nf4mccFn
>>213
211の方法でも、さらに加工しようとするとややこしくなる
例えば文字列でMBを加えて出力しようとすると
Write-Host "$((gps chrome | Measure-Object PM -sum).sum / 1mb)MB"

これよりはパイプだけの方が見やすいと思う
gps chrome | Measure-Object PM -sum | %{$_.sum/1MB} | %{"$($_)MB"} | Write-Host

まあ変数使えよって話かもしれないけどw
2017/08/08(火) 12:39:53.99ID:7r69+AsT
>>214
好みだろうけど俺は上の方がわかりやすいと感じる
216デフォルトの名無しさん
垢版 |
2017/08/09(水) 08:38:50.59ID:RoXwN+kA
俺は下の方が読みやすいな。
左から順に読み下せるってのが、パイプの性質に合ってる気がする。
まあ、好みかもな。
2017/08/09(水) 09:28:52.63ID:VOmW1luq
>>213
obj.sum的なことは$_.sumでやってるじゃん

1つの要素をForeachで回すのに違和感があるのかな?
Foreachで回す時にいちいち要素数なんか考慮しないよ、要素なんてゼロの時もあるし1の時もあるし複数ある時もあるわけだし

要素が1つの時は、(hogehoge).sum と書いて、要素が2つ以上ある時は、hogehoge | %{$_.sum} と書き分ける方がおかしい
よって、これは好みの問題ではなく正解は>>214でいうところの下の書き方が正解
好みとか美学とかなんたらいう前にPowershellの流儀に従うべき、上の書き方はありえないよ、ありえない
2017/08/09(水) 12:52:34.22ID:LnmC5B+P
Measure-Object が複数の結果を返すなんてあり得るのか?
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況