【最強CUI】PowerShell -Part 2 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
>>121 サーバー上でメモ帳しかないならわかるが、わざわざサーバー上で書く必要もない。 >>123 あなたはサクラエディタが使える環境を想定しているのに、わざわざメモ帳でやろうとするところが変。 >>123 統合開発環境がどこにでもあると思っているパターンだろ? 開発機と本番機が同じだったり、ネットワークでつながっていたりする環境しか知らない。 YouTubeにある、T Umezawa のプログラミング動画では、 秀丸でJava、メモ帳でC#、などで作っている 土方を極めると、補完よりも、キータイプの方が速いw >>127 初心者はコード補完をありがたがるんだよな。あんなの覚えていたり、コピーで作るからなくてもいい。間違って選択する可能性もある。そんなにあわてて作ることなんてないもん。 >>119 > 他の言語なら10数行で書けるしpsでも大差ないだろ 書いてから言えば? 生産性向上のために統合開発環境が必要と言うやつほど、仕事が遅いという傾向がある。ようは時間をかけるところを間違っている。 メモ帳やサクラエディタでc#やるのはキツいって話から一気に統合開発環境まで飛躍するんだ 最近はVisual Studio Codeで書いてる 珍しく伸びてると見てみればバカが大暴れしてただけだったw >>135 お前が誰かは知らんけど>>115 には気が狂うほどキツイらしいぞ >>132 Designer.csやResourceを全部手書きしたりしてんの? >>138 全否定しているわけではない。そもそも毎回いちから作らない。 PowerShellユーザーのレベルってこんなものか >>140 コード書きに時間をさく、重要視しすぎるのは経験の少ないひとの特徴。 使えるなら便利なものを使えばいいけど フリーソフトなんかインスコ出来ないんだろ notepadでも仕方ないじゃんか 別の(自由な)PCが使えるならソッチで書けばいい IIS、asp.netが有効化出来るんなら大分楽になりそうなんだけど 良く読んだら、Visual Studio無いってことは、コンパイル環境も無いってことか じゃあJDKはあるんだからJavaで作るのが現実的じゃないかな だからコンパイルしなくても.NET Frameworkは使えるし Powershell ISEはPowershellと一緒に入ってるだろって話だよ >>148 今はJDKがあるけど次もあるとは限らない Windowsにデフォルトで入ってるPowerShellでやるということに意味がある 将来を考えるんなら、今は面倒でも Visual Studioのインストールの許可を貰うのが一番だと思う ああ業務(会社内身内だけであっても)で使うんならVisual Studioを購入する稟議がおりないのか プロジェクトルームのPCにろくなもん入ってないことは良くある ネットは使えないしインストール許可はもちろん下りない >>148 > 良く読んだら、Visual Studio無いってことは、コンパイル環境も無いってことか 無知は黙ってなよ... ソースコードに書かれた、退職した人からの隠されたメッセージが怖いと話題に 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 > 会社にもいるわ秀丸使ってるの > ライセンス払ってないしやめて欲しいんだけど >>148 コンパイルしてんのはVisual StudioじゃなくてMSBuild(Roslyn)なんだが >>127 を読んでくれ YouTubeにある、T Umezawa のプログラミング動画を見てくれ >>158 そんな初歩的で有名な内容の動画は誰でも知ってるよカス >>156 MSBuild はコンパイラじゃねーし、Roslyn 言いたいだけやろ >>157 無知は黙ってな って言われただろ PowerShellユーザーってレベル低すぎだろ こりゃ流行らんわけだわ プログラムに詳しいID:muOV6x9Q「PowerShell ユーザーのレベルが低くて PowerShell が流行らない」 俺「PowerShell の実行速度知ってるのかな。」 >>160 MSBuildはVisual Studioで使われてるビルドツールだから特に間違ってない >>163 cc がコンパイラーだと思ってる初心者が背伸びしてるのか? w >>164 PowerShell が流行ってないなら、何が流行っていると言うのか。 Python か? Ruby か? >>166 だから無知は黙っとけよ Windows 7 なら初めから csc.exe は入ってる >>167 どこが背伸びしてるかも書けなくてクヤシー ってか w bashでいいんだよね 最近はwindowsでも当たり前のように動くし あの不恰好なハイフンケースも見なくて済む bash はテキストを扱うけど、PowerShell はオブジェクトを扱う だから今では、Linux でも、PowerShell を使う オブジェクトパイプラインは シェルスクリプトに相性最高だから PowerShell使ってる PowerShellで動くGradleみたいなタスクランナーないのか? 適当なタスクはPowerShellで書いて難しいのは.NETでプラグイン書いて拡張みたいな スタート右クリック -> コンピュータの管理 -> サービス一覧にHomeGroupListenerがありますが Powershellのサービス表示コマンドgsvでHomeGroupListenerが出てきません 何故でしょうか?分かる方教えてください >>175 Powershellを管理者として実行してる場合は出てくる 標準ユーザーからだと見れない設定になってるみたい >>176 わっかりましたー、おかげさまで確認できました ありがとうございましたー^^ コマンドプロンプトでbatファイルで「powershell -command '〜'」の形式で実行したいと考えています。 Excelのセルの値にセル内改行が入っている場合、〜.text.replace("`n","")で取り除けないかと考えていたのですが、 シングルクォーテーションで囲っているからか「`n」の部分が改行コードと認識されないようで、うまくいきませんでした。 powershellのISEで「powershell -command」を除いて「'〜'」の部分をシングルクォーテーションを除いて実行すればできるらしいことは分かったのですが、 「powershell -command」を除かないbatファイル形式だと実行できないままで、じゃあbatファイル形式だと本当にできないのかどうかが判断できないでいます。 詳しい方がいたら、batファイル形式でExcelのセル内改行を除くことができるか、実現の可否を教えてもらえるとありがたいです。 スクリプト書いたPS1ファイル呼び出すのはではいかんの? >>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\", \"\")" >>179-180 別の言語環境からPowershellを実行しようと考えていました。 PS1を呼び出そうとしても管理者権限がなく、 客先なので権限的に難しいです; コードは試してみてうまくいきました。 ありがとうございました。 管理者権限は要らなくないか ExecutionPolicyじゃないの? `nを取り除くだけならコマンドプロンプトだけでできる >set a="hoge`nfuga" >echo %a% "hoge`nfuga" >echo %a:`n=% "hogefuga" >>182-183 客先でget-executionpolicyを実行した結果、restictedでした。 変更しようとしたらアクセス拒否されました(客先なので管理者権限無し)。 なおVersionは2.0です; Excelのセル内改行を処理することが目的でした。 コマンドプロンプトだとExcelを開いてその中身を操作することはできないはず (できるとしたら、方法知らないです)。 >>186 タイミング悪くて試すの来週になりそうです; >>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のコマンド呼び出せるじゃん?結構複雑な処理もできるじゃん?という可能性を感じて頂けると思います JScriptをバッチで書こうってのと同じ発想だね ちょっと面白かったけど結局使わなくなったな、やっぱメンテナンス性が悪い https://ja.stackoverflow.com/questions/28565 これと同じ状況に直面して困っているのですが解決法って無いですかね? バッググラウンドで処理したいのですが >>186 方法2が実行できることを確認しました。 知らなかったので、感謝です。 >>186 横からだけど俺も知らなかった 参考になったわ、ありがと Microsoft、「PowerShell」のロードマップを公開 〜クロスプラットフォーム版へ一本化 - 窓の杜 http://forest.watch.impress.co.jp/docs/news/1071229.html >>194 ソースを一本化するって話だろ メンテ工数考えたらあたり前だわな スマホ開発の選択肢にPowershellが入るのはいいね 「将来のリリースでは削除予定(中略) 削除 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分 これを期にペイントも変えるか Paint.netがクセ少なくてよかった気が >>200 毎日使ってる。 メモ帳は F5で日時入れて日記 あと、書式を削除して文字列をコピペするときに中継につかう。 ペイントは保存だけだけどキャプチャしたサイズで保存できるから便利だった。 >>202 > 書式を削除して文字列をコピペするときに中継につかう。 これは俺もよく使ったな 2007 辺りから Office でテキストだけの貼り付けができるようになったのでだいぶ出番は少なくなったけど >>202 オレ書式消す時にはwebブラウザの検索欄使ってるわ。 メモ帳起動するのも面倒くさい。 PSのスレとしてはこれを使いやすいとこに置いとくとかが正解では v5.0以降じゃないと動かないけど (Get-Clipboard)|Set-Clipboard >>206 逆に言えば、ブラウザ検索窓で済むくらい、一行が多いって事じゃね? >>207 >>204 はそうなんだろうな でも>>202 とか俺(>>203 )は違うってだけの話 あまり仕様を理解してないせいかもしれませんが,オブジェクトのプロパティに最後のひと押しをしたい時に,よい書き方が分かりません。教えてください。 例えば chrome の プライベートメモリサイズの合計を調べたいとします >>> gps chrome | Measure-Object PM -sum ここまでは良いのですけど。 さらに総和を 1mb で割りたいとします。 果たしてもう一度パイプを通すべきなのでしょうか。 >>> gps chrome | Measure-Object PM -sum | % {$_.sum/1MB} この「パイプを通して foreach……」というのが,方法としておかしい気がするんです。 ただの考え過ぎかもしれませんが,似たようなケースで多々も同じ方法を使っていて……いつも不安になってます。 どなたかご教授いただければ幸いです。 >>209 >この「パイプを通して foreach……」というのが,方法としておかしい気がするんです。 なぜおかしいと思うの? >>209 自分もおかしくないと思うけど、パイプ使いたくないならこうすれば? (gps chrome | Measure-Object PM -sum).sum / 1mb >>210 一個しかデータが無いのが分かってるのにforeachってところじゃ無い? そこまでおかしくないということでしたら安心しました。 おかしいかというよりかは PowerShell においてこれが自然な方法かどうかが気になっていました。 プロパティを調べるにはただ obj.sum と書くのが自然な気がしたからです。そのために別の手続きを幾つか経過させるべきなのか迷っていました。 その意味では >>211 さんの方法がより良い気がします。 PowerShell では,代入文などを使って素朴に書いたほうが綺麗にできているのかもしれません。 自然だとか綺麗だとかは個人的な美学の問題ですし,PowerShell が出始めたころに出し尽くした議論だとは思いますけど……。 どうもありがとうございました! >>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 >>214 好みだろうけど俺は上の方がわかりやすいと感じる 俺は下の方が読みやすいな。 左から順に読み下せるってのが、パイプの性質に合ってる気がする。 まあ、好みかもな。 >>213 obj.sum的なことは$_.sumでやってるじゃん 1つの要素をForeachで回すのに違和感があるのかな? Foreachで回す時にいちいち要素数なんか考慮しないよ、要素なんてゼロの時もあるし1の時もあるし複数ある時もあるわけだし 要素が1つの時は、(hogehoge).sum と書いて、要素が2つ以上ある時は、hogehoge | %{$_.sum} と書き分ける方がおかしい よって、これは好みの問題ではなく正解は>>214 でいうところの下の書き方が正解 好みとか美学とかなんたらいう前にPowershellの流儀に従うべき、上の書き方はありえないよ、ありえない Measure-Object が複数の結果を返すなんてあり得るのか? たとえばカレントディレクトリににa.txtとb.jpg、c.jpgの3ファイルがあったとして $txt = ls *.txt と $jpg = ls *.jpg の型が違うのは気持ち悪い気はする $txt.Countとか$txt[0]とやったり、逆に$jpg.Nameとかもできるんだけど $jpg += $txtだとちゃんと追加される一方で、$txt += $jpgだとエラーになる 好みや流儀より、単純にパイプの方がメンテナンス性が優れてるよ >>214 は実際やってみると小数点以下の羅列の後に"MB"が付いて見苦しくなる でもパイプなら一部の修正だけですむ %{"$($_)MB"} を %{"{0:.00}MB" -f $_} とか、 四捨五入して %{[math]::Floor($_+0.5)} | %{"$($_)MB"} とか 214の上でこれやろうとするとカッコばかりで暗号のようになる >>220 それはまたちょっと違う問題だね その場合はこうやって強制的に配列にしろと教えられたよ $txt = @(ls *.txt) ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.5 2024/06/08 Walang Kapalit ★ | Donguri System Team 5ちゃんねる