X



PowerShell -Part 3
■ このスレッドは過去ログ倉庫に格納されています
0583582
垢版 |
2019/02/19(火) 11:20:37.97ID:jsQqlcaV
>>581
喋ったわ、PCの設定の問題だった
0585デフォルトの名無しさん
垢版 |
2019/02/19(火) 15:26:18.95ID:xz+0XgYy
似たようなのは、VSCodeでもあるね。
たとえば、C#のコンソールモジュール作ろうとして
dotnet new console -o xxx とやると
dotnet-new はありませんみたいな
0587デフォルトの名無しさん
垢版 |
2019/02/23(土) 20:34:37.39ID:K6odEV0u
WindowsでしかPS使わないんだけど
早めにWindowsPS5.1から、PS6.1に移行した方がいい?

5.1で作ったスクリプトとか、そのままだと6.1でほぼ動かないよね。

5.1でゴリゴリ作って資産を溜め込むと将来的に困った事になるのかな。
でも、6.1はドキュメントが整備されてなくて、調べるのが辛い。
0588デフォルトの名無しさん
垢版 |
2019/02/23(土) 21:00:34.25ID:mBphVd+l
OSに標準搭載されるならともかく今は現状維持で良いんでない
スクリプトが軒並み動かんような破壊的な変更では無かったと思うけど
0589デフォルトの名無しさん
垢版 |
2019/02/23(土) 21:10:17.16ID:K6odEV0u
.net flamework呼び出すスクリプトが多くて
ここをCoreに置き換えないといけないんだよね?
そこが上手くいけるのかなって。

PS自体の互換性は割と大丈夫っぽいんだけど。
0590デフォルトの名無しさん
垢版 |
2019/02/23(土) 21:26:32.03ID:U8qcMvKV
.NET Coreの範囲だったらいいけど、.NET Frameworkと比べるとすごく狭そうだからなあ
0594デフォルトの名無しさん
垢版 |
2019/02/23(土) 22:42:29.56ID:3sqzQkTc
3.0はdnSpyとか既に導入しているアプリもちょくちょく見るね
SCDにできるのが野良配布の開発者には良さげ
0595デフォルトの名無しさん
垢版 |
2019/02/24(日) 05:23:00.00ID:EIdikGBL
>>587
ほぼ問題なく動いてるよ
0597デフォルトの名無しさん
垢版 |
2019/02/24(日) 16:23:30.62ID:njB6xu8t
OSチームが謎のps推ししてるんだからそう動作が変わるとも思えない(全く信用はしてないが)
0600デフォルトの名無しさん
垢版 |
2019/02/25(月) 06:14:15.76ID:WiC9+kGP
>>595
上で言っているエンコードと、サポートされていない画面系(Forms,WPF)以外は
特段の違いはないと思っていいと思う。
0601デフォルトの名無しさん
垢版 |
2019/02/25(月) 17:25:12.02ID:PrYchFgA
System.Windows.FormsみたいなWindows固有のGUI系はサポートされない。
今のところこれで困ってる。

Core3.0でサポートされるから、将来的には大丈夫なんだろうか。
0603デフォルトの名無しさん
垢版 |
2019/02/26(火) 08:18:02.82ID:OWiOsoxx
誰か教えて下さい
断片化を検知するパワーシェル
一定の断片化でデフラグするパワーシェル
0605デフォルトの名無しさん
垢版 |
2019/02/26(火) 12:06:29.45ID:DYKZ90LU
>>603
とうとうこっちに来たのか…、要件をまとめられない限り、お前さんに仕事は無理、勿論回答も無理。丸投げなどもっての他、はよ仕事降りて病院行け
0608デフォルトの名無しさん
垢版 |
2019/02/26(火) 12:41:56.50ID:5MxkS3P7
断片化?
そんな難しいプログラムを、書けるわけないだろ

断片化を判定するようなコマンドなんて、無いだろ?

そういうのは、それ専門の会社が作っている、アプリを使う。
自作できるようなものじゃない
0612デフォルトの名無しさん
垢版 |
2019/02/26(火) 19:16:16.83ID:OWiOsoxx
PS C:\Users\user> Optimize-Volume -DriveLetter C -Analyze -Verbose
Optimize-Volume : Access denied
Activity ID: {dcf03f92-726b-4adb-a208-4f620c23ef63}
発生場所 行:1 文字:1
+ Optimize-Volume -DriveLetter C -Analyze -Verbose
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : PermissionDenied: (StorageWMI:ROOT/Microsoft/...age/MSFT_Volume) [Optimize-Volume], CimE
xception
+ FullyQualifiedErrorId : StorageWMI 40001,Optimize-Volume
0613デフォルトの名無しさん
垢版 |
2019/02/26(火) 19:17:18.94ID:OWiOsoxx
PS C:\Users\user> Optimize-Volume -DriveLetter C -ReTrim -Verbose
Optimize-Volume : Access denied
Activity ID: {fd9e0378-9517-49a9-874f-49fdbbafec31}
発生場所 行:1 文字:1
+ Optimize-Volume -DriveLetter C -ReTrim -Verbose
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : PermissionDenied: (StorageWMI:ROOT/Microsoft/...age/MSFT_Volume) [Optimize-Volume], CimE
xception
+ FullyQualifiedErrorId : StorageWMI 40001,Optimize-Volume
0614デフォルトの名無しさん
垢版 |
2019/02/26(火) 19:41:44.80ID:4qbJwUeH
これも前ググれと言われてるだろ?
"PermissionDenied"だから原因は明確、PG言語を学ぶ以前の問題
0615デフォルトの名無しさん
垢版 |
2019/02/26(火) 20:11:15.34ID:OWiOsoxx
考えても分からないから寝ます
0617デフォルトの名無しさん
垢版 |
2019/02/26(火) 20:20:24.56ID:OWiOsoxx
分からなくてどうしようもないから質問しているのに
要するにスクリプトの構文の意味から分かっていない
0618デフォルトの名無しさん
垢版 |
2019/02/26(火) 20:43:08.57ID:SZnduWSg
いやPSのエラーは判り難いと思うね
そもそもコマンドライン置き換えたいなら日本語で出すべき
0619デフォルトの名無しさん
垢版 |
2019/02/27(水) 06:31:25.86ID:KDd7+K01
>>618
UNIX系のシェルに比べたら圧倒的にわかりやすいでしょ
0620デフォルトの名無しさん
垢版 |
2019/02/27(水) 07:06:27.77ID:KDd7+K01
>>617
みてると、まるきり一切調べようとせずに
出来上がったコーディング教えろという
感じですよね

しかも、PowerShellだけでなく、使用するユーティリティーに
ついてもどちらもまるきり分らないし調べないでの質問。
0621デフォルトの名無しさん
垢版 |
2019/02/27(水) 07:58:43.59ID:9BuZTaoV
やる気なく、能力も無いと漏らしてるクセに辞退もせず、数ヶ月居座ろうという腹です。
後任に苦労かけるだけ。正常な社会人の要件まとめ能力、調査能力すら失ってるのは精神病としか思えないため、はやく病院に行けと勧めてます
0622デフォルトの名無しさん
垢版 |
2019/02/27(水) 21:51:13.40ID:KyKRLtdw
数十GBのバイナリファイルを2GB毎に分割したいのですがpowershellで効率よい方法あったら教えてください
C#コード埋め込みでも可です
0623デフォルトの名無しさん
垢版 |
2019/02/28(木) 14:47:18.94ID:jurbU8zc
>>622
GNUの split コマンドでええんちゃう?
$ split -d -b 2G src dst.

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

結合は、
$ cat dst.* > dst
で終わり。
0627デフォルトの名無しさん
垢版 |
2019/03/01(金) 00:11:45.93ID:GEdFntp5
byeとか再見とか毎回言う外国人居る??
0628デフォルトの名無しさん
垢版 |
2019/03/01(金) 05:49:41.07ID:vonrkHCa
『Youは何しにPowerShellに』の撮影かな?
0629デフォルトの名無しさん
垢版 |
2019/03/01(金) 15:20:53.71ID:o7q1IFCw
powershellでチャットできないですか?
0631デフォルトの名無しさん
垢版 |
2019/03/02(土) 12:30:51.54ID:k1Nl7LaS
>>630
ありがとう。結局サーバー借りた方が楽ですね。
あとtermsとかも無料だし使えそう。
pcからpcってリモデス使用でできそうですね。
なかなか勉強になりますわ。
0633デフォルトの名無しさん
垢版 |
2019/03/21(木) 21:13:15.16ID:Kce5LZBI
>>570
業務でps1ファイルを大量に使ってるような現場だと
今後標準のテストツールとして採用するところが増えそうだね
0634デフォルトの名無しさん
垢版 |
2019/03/23(土) 14:31:45.42ID:zukmvcaU
>>632
調べ物があってググると結構な確率で Qiita でヒットするけど、
「初心者がとりあえずやってみた系」「自分だけが理解できる作業メモ系」が
大部分で、間違ってることも少なくない。
(日本語の IT 系個人ブログの大多数がそうだとも言えるが)

なので、最近はググる際のキーワードは極力英語のみにして、
海外のコンテンツから優先して探すようにしてる。
0635デフォルトの名無しさん
垢版 |
2019/03/23(土) 15:05:59.87ID:AczqyFo9
俺は最初は日本語かな
日本語なら数秒で記事全体を眺めて概要と筆者の腕前を判定できる
そこからちゃんと読むか次のサイトを見るかの見極めが楽
英語だと仮に真実を語っててもそれが期待してた内容と違う場合にそれに気付くまで少し時間がかかる
そもそも英語でも間違ってる記事は少なくない
0636デフォルトの名無しさん
垢版 |
2019/03/23(土) 18:54:02.90ID:sans/OC7
Qiitaが云々っていうより、最近のgoogleで上位に来るのはgoogleのアフリエイトが
使われているものが優先されていて、特に意図的にアフリエイトだけが目的の
コピペサイトが上位に来るので検索エンジンとして役に立たなくなってきてる

まぁ、キーワードうまく絞れば見つかることも多いし、なれと面倒くささも手伝って
google日本語2ページ、google英語2ページ、bing、duckduckgoって感じで最近は
検索してるかな
0637デフォルトの名無しさん
垢版 |
2019/03/23(土) 18:57:03.05ID:sb/buXjf
euの脅しのお陰でchromeのデフォルト検索エンジンにduckduckgo選べるようになってるなw
0638デフォルトの名無しさん
垢版 |
2019/03/23(土) 20:27:48.56ID:9w+Nt8ul
>>634
第三者の情報を利用しているのに、
コミュニティなんだから、自分で精査すればいいだけ。
その手間もおしいとか?w
0641デフォルトの名無しさん
垢版 |
2019/03/25(月) 03:07:23.90ID:UZnjqkvB
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
0642デフォルトの名無しさん
垢版 |
2019/03/25(月) 05:27:00.32ID:jHLU9O87
>>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のみだと挙動が変わったりするけどバグなんじゃないのこれ
0643641
垢版 |
2019/03/25(月) 15:55:58.17ID:UZnjqkvB
>>642
おー、ありがとう(*^▽^*)
確かに Raw オプションで読み込むとスキップされなかった。
Get-Content .\list.txt -Encoding UTF8 -Raw | ConvertFrom-Csv -Delimiter " "

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

"#TYPE"始まりを無視しようとして "#"始まりを無視しちゃダメな気がするけど...(´・ω・`)
0644デフォルトの名無しさん
垢版 |
2019/03/25(月) 21:10:47.02ID:E8OEO5vB
powershell謹製の定型入出力処理って大抵どっかが糞だよな
C#でさくっとコード埋め込んだ方が速い
0645641
垢版 |
2019/03/26(火) 03:30:50.37ID:7kgkCpnE
>>643
あ、違うか。 >>642 の言う通り、#TYPEの判定時に捨てられちゃってるんだね。
#始まりで#TYPEだったら型情報を返すけど、そうじゃなかったらnullにしちゃってるから#始まりは(#TYPE以外)一律落ちちゃうってことか。
型情報以外の#はコメントだから落とそうという意図なのか、意図せずなのかはよくわかんないけど。
0646デフォルトの名無しさん
垢版 |
2019/03/26(火) 07:15:12.47ID:yaU1CQab
そういう場合はコメント扱いか将来の予約用として設計するケースが多いかな
癖のある部分がしっかりドキュメント化されてるといいんだけどね
0654デフォルトの名無しさん
垢版 |
2019/04/07(日) 07:15:21.58ID:WD9Sfyky
>>651
当初からの既定路線です
0656デフォルトの名無しさん
垢版 |
2019/04/07(日) 21:27:45.92ID:KO8gpU7g
良かった
これでわざわざコアを入れなくてもWindowsデフォルトのPSがメンテされるのかな?
本家であるWindowsデフォルトのPSを冷遇するMSに腹が立ってたんだ
0658デフォルトの名無しさん
垢版 |
2019/04/08(月) 19:02:08.74ID:sE/xXtkV
それらを即ちオブジェクト指向ってまとめられると語弊があるけど
PowerShellでわざわざクラスをつくるメリットがあまりないんで使わないかな
C#側で作ってそれを利用するモジュールはよく見かける
PowerShellでつかうんならメソッド生やすよりパイプ入力に対応した関数を作ったほうがそれらしいから
0662デフォルトの名無しさん
垢版 |
2019/04/09(火) 06:55:48.14ID:WguqqX2K
>>661
ああ、そういう意味か
その時代は構造体代わりにAdd-Member使う程度だったな
class使えるようになってからは普通にオブジェクト指向って言うか他の言語と変わらん程度には使う
0668デフォルトの名無しさん
垢版 |
2019/04/18(木) 08:38:59.87ID:19FvTfVH
リモートで各Windowsサーバのhostsファイルのメンテナンスをしたいのですが、いいサンプルなどはありませんでしょうか?
0669デフォルトの名無しさん
垢版 |
2019/04/18(木) 08:59:31.67ID:JGuMcupo
サンプルもクソもないだろ…hostsファイル更新は管理権限が必須、それだけの話
0670デフォルトの名無しさん
垢版 |
2019/04/19(金) 07:26:06.94ID:gmGy9oTC
ls -name | ruby -ne 'puts $_.center(20, "-")'

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

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

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

エスケープしない書き方は、出来ますか?
0671670
垢版 |
2019/04/19(金) 07:41:35.36ID:gmGy9oTC
自己解決した!

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

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

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

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

1809 の改良点かと思って別の 1607 も見てみたら、こちらでもズレなくなってるわ。
Windows Update でいつの間にか修正されてたらしい。良かった、良かった。
0675デフォルトの名無しさん
垢版 |
2019/04/20(土) 19:17:44.43ID:gHzm7Vzg
ps1を別のps1から実行したとき、呼び出したps1の標準出力を呼び出し元のps1で取得する方法ってありますか?
$LASTEXITCODEとか$?には当然入らないですよね
0677デフォルトの名無しさん
垢版 |
2019/04/20(土) 22:27:38.00ID:gHzm7Vzg
A.ps1が呼び出されるps1としてB,ps1で

.\A.ps1

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

A.ps1の中身は例えばこんな感じの標準出力を吐き出してるだけ
Write-Host "test"
0678デフォルトの名無しさん
垢版 |
2019/04/20(土) 22:29:25.41ID:BGbzUadU
Write-Hostは画面に表示するだけ
出力するならWrite-Outputか、そもそもPowerShellでは勝手に出力されるから
"test"
とするだけでいい
0681デフォルトの名無しさん
垢版 |
2019/04/20(土) 22:46:19.99ID:gHzm7Vzg
Write-Hostだと標準出力ですらなくて取得出来ないってことなのかしら?
Write-OutputだとB.ps1側で変数に格納する場合どうすれば?
0682デフォルトの名無しさん
垢版 |
2019/04/20(土) 22:51:17.48ID:BGbzUadU
標準出力されるなら普通に変数に入れればいいんで
$a = .\A.ps1
とすればいいよ
Write-Hostで出力しようとするスクリプト書いた奴が馬鹿なんだから変えるしかない
■ このスレッドは過去ログ倉庫に格納されています

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