X



【最強CUI】PowerShell -Part 2 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
0527デフォルトの名無しさん
垢版 |
2018/02/26(月) 13:03:41.88ID:byvTlEgJ
>>517
エビデンスって言うには弱いな
コードの断片だけ見せて開放されないんですって言ってる人が居たってだけで
それにこれたぶんGC回ったら回収されるパターンでしょ
0528デフォルトの名無しさん
垢版 |
2018/02/26(月) 13:18:51.36ID:aBQXIVru
MSのメモリリークのバグなんて昔から何度もあったのに。MSも随分と信用を得たものだ。
0529デフォルトの名無しさん
垢版 |
2018/02/26(月) 13:26:17.87ID:zI4VKzz4
まあ今時COMって言うのは間違ってはないとは思うがCOMの話してるのにNPOIとかClosedXMLととか言い出す>>514が頓珍漢であることは変わらない
0530デフォルトの名無しさん
垢版 |
2018/02/26(月) 13:33:29.92ID:aBQXIVru
VS2017にATLついてる。なぜならMSが必要だから。COMなしではWindowsは動かない基盤技術。

おまえらの2chブラウザも動かなくなる。
0531デフォルトの名無しさん
垢版 |
2018/02/26(月) 15:06:05.67ID:tmFMcABi
流れを見ると>>500のレスを>>505が勝手にCOMの話と勘違いしたからそもそも話しがおかしくなってるんだと思うけど
どっちにしろたいした話もできてないからもう終わりでよくね
0532デフォルトの名無しさん
垢版 |
2018/02/26(月) 15:21:15.75ID:9PwnP/L5
ClosedXMLはExcelを操作するんじゃなくてExcelファイルを操作するライブラリだしww
てかいつまで粘着するの?
0534デフォルトの名無しさん
垢版 |
2018/02/26(月) 18:04:10.90ID:XspdtcWH
エクセルでcsvを開いて、名前変えてエクセルファイルとして保存したいんだけど、
c:/test.csv
から
c:/test_add.xlsx
って感じに。
このとき、split-path $_ -parent + "/" + $.basename + "_add.xlsx"
みたいな書き方してるんだけど、もっとカッコいい良い書き方ある?
0535デフォルトの名無しさん
垢版 |
2018/02/26(月) 20:02:07.45ID:tmFMcABi
>>534
かっこいいかは分からんけどjoin-path使ったり
Join-Path $_.Directory ($_.BaseName + "_add.xlsx")

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

単に文字列内で展開してもいいだろうし
"$($_.Directory)\$($_.BaseName)_add.xlsx"
0536デフォルトの名無しさん
垢版 |
2018/02/26(月) 23:11:59.96ID:6edExPT+
>>535
ありがとうございます。
さらっと3通り出るのすごい。

joinがpowershell 使ってる感あって好き、けど文字列内の$$もいいな
0537デフォルトの名無しさん
垢版 |
2018/02/26(月) 23:14:27.61ID:cmg78qzM
PowerShellで画面の文字拡大率を変更する事は可能?
ノートPC使っていると、150%とか100%を変えたい時があるが
いちいちGUIで変更するのが大変
0538デフォルトの名無しさん
垢版 |
2018/02/27(火) 10:39:21.42ID:OXeiIV2T
PowerShell.exeのショートカット2つ作ってプロパティで色やらフォントサイズやらを別々に設定して
好きな方を起動するというのはできる
0541デフォルトの名無しさん
垢版 |
2018/02/28(水) 21:26:18.73ID:XB4appM3
好きに変更すりゃいいじゃねーか。GUIで変更は嫌だとか、キーに割り当てるのも嫌だとか、
顔近づけるのも嫌だとか、ほんとデブは馬鹿で横着だからヤダね。

メイドでも雇って変更してもらえや。
0543デフォルトの名無しさん
垢版 |
2018/02/28(水) 21:39:00.90ID:XB4appM3
句読点の打ち方が分からない低学歴アピール乙。
0544デフォルトの名無しさん
垢版 |
2018/02/28(水) 22:44:45.43ID:updNaSP6
>>537 で言っているのは、何の画面のこと?
powershell.exeのコマンド画面も
powershell_iseのエディターも既定値設定できるんで
なんの話か理解できなくて。
0545544
垢版 |
2018/02/28(水) 22:53:58.42ID:updNaSP6
自分の文章理解力がなかった
Windowsの画面そのもののフォントサイズを
変更したいという話だったのね。
0546デフォルトの名無しさん
垢版 |
2018/02/28(水) 23:12:12.84ID:XB4appM3
GUIで設定するのも面倒、句読点を打つのも面倒。脳に障害があるレベルだな。

だが安心してください。Windowsには障碍者モードが実装されてます。
0547デフォルトの名無しさん
垢版 |
2018/03/01(木) 01:21:24.03ID:nHL6zjeN
まあ、PowerShellというよりもWindowsコンソールが機能不足かつ分かりづらいのは確か
ただ、フォントサイズくらいは変えられる
0548デフォルトの名無しさん
垢版 |
2018/03/01(木) 01:23:11.44ID:0hekOGPH
PPMとか生成したバイナリデータをリダイレクトで保存するのは難しいのかな
cmdはできるのに
0549デフォルトの名無しさん
垢版 |
2018/03/01(木) 10:56:37.02ID:tP9VZ2s0
句読点の付け方は別に間違っちゃいないけど、2chでそこまでしっかり打つのは少数派だから
ちょっと異様に見えるよ
0550デフォルトの名無しさん
垢版 |
2018/03/01(木) 11:57:54.51ID:lQ3pJcx7
単純に低学歴、低知能は句読点を打たない。
文章や論文を書く習慣がないし本も全く読まないから句読点がないことに違和感がない。つまり馬鹿。

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

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

118 名前:ひろゆき@どうやら管理人 ★[] 投稿日:2014/04/12(土) 02:48:58.08 ID:???
>>25
どうぞ、どうぞ。
0551デフォルトの名無しさん
垢版 |
2018/03/01(木) 12:37:08.99ID:tP9VZ2s0
ひろゆきも打つからなんだっつーの
本と2ch(というかメールやブログのコメントもだけど)は大きく違う
ソフトによって画面端での自動の改行がさされたりされなかったりするから、長い行はあまり書かない
「。」の代わりに改行で済ますように変化してる
行末に「。」を付けるのはかなり少数派だよ
0552デフォルトの名無しさん
垢版 |
2018/03/01(木) 13:38:12.57ID:Bn8v5XdY
>>550
そういう見方もあるだろうが
昔に戻ると、句読点は必須ではなく
文章に不慣れな人達のために使われるようになったそうで、
いまでいう高学歴というような人に対しては使わないもの
だったそうだ。
そのために、今でも表彰状などには句読点は一切使われない。

ちなみに、句読点が一般的に使われるようになったのは、
明治半ば以降だそうだ。
0553デフォルトの名無しさん
垢版 |
2018/03/01(木) 15:34:24.24ID:mJRDcTgH
読みづらくなきゃなんでもいいと思うよ
クッソ読みづらくても句読点のあるなしにしか拘らん方が問題ある
読みやすい文の組み立てを心がければいいでしょう
0554デフォルトの名無しさん
垢版 |
2018/03/01(木) 15:34:48.45ID:Bn8v5XdY
感謝状、招待状等あえて句読点をつけない文章の共通点とは?
https://woman.mynavi.jp/article/150205-71/

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

ま、当時は漢字の利用頻度も高く、漢字ひらがな混じりでも
読みやすかったのでしょう。今はひらがななどの割合が高いので
やはり適切に句読点を使う必要あるんでしょうね。
0557デフォルトの名無しさん
垢版 |
2018/03/01(木) 19:41:09.89ID:Bj3H1eP5
単に句読点はこのスレで低レベルな煽りを繰り返してるキチガイの特徴ってことだろ
IDかわってもすぐわかる
0561デフォルトの名無しさん
垢版 |
2018/03/02(金) 12:53:13.17ID:Bue9fMqJ
煽りうざいから話題換えよう

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

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

もし本格的なプロジェクトのフォルダ構成を組むなら
JavaとかRubyとか他言語の構成をマネするかな
0562デフォルトの名無しさん
垢版 |
2018/03/03(土) 09:41:45.03ID:7F+xAEZY
PSCustomObjectで特定のinterfaceを実装したいんだがやりかたわからん

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

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

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

[Hoge]::Fuga($foo)

こういうことしたい
0563デフォルトの名無しさん
垢版 |
2018/03/03(土) 22:48:42.40ID:ApJ804E1
GoやTypeScriptじゃないんだからメソッドを持ってるからってinterfaceを実装してることにはならんよ
素直にIFooを実装するclassを定義すれば?
0569デフォルトの名無しさん
垢版 |
2018/03/04(日) 12:58:31.78ID:D98mTqXy
業務で使うマシンはOSが最新とは限らない
PSもほとんどアップデートされてない
だから低いバージョンでも使えるように訓練したほうがいい
最新版は追いかけるメリットがない
0570デフォルトの名無しさん
垢版 |
2018/03/04(日) 13:10:20.82ID:7vnf9POv
企業ならクライアントもWindows 7とか珍しくないから配布するようなスクリプトだと2.0前提
0574デフォルトの名無しさん
垢版 |
2018/03/04(日) 21:56:10.13ID:hNuDXfDM
句読点を多用するのは下手な日本語で嫌われる。

もともとどこが句切りかわからないひと向けの記号だから、句読点の使用は馬鹿にされることもある。
0576デフォルトの名無しさん
垢版 |
2018/03/05(月) 05:26:47.07ID:ZV3N5zu0
>>575
わたしゃ多用してますわ
push-location
pop-location
と省略せずにつかっておりますです
0577デフォルトの名無しさん
垢版 |
2018/03/06(火) 18:11:54.95ID:QwFmEXbL
c# scriptingのほうが楽とちゃうか?
ネイティヴコマンド連携だけは若干ps有利かなといった印象
0578デフォルトの名無しさん
垢版 |
2018/03/06(火) 20:17:46.87ID:Xwb93uOm
その時々で都合の良いほうを使えばいいよ
同じ.NETなんだから否定する理由も無い
0580デフォルトの名無しさん
垢版 |
2018/03/07(水) 07:47:27.99ID:Bp6mjckS
>>577
C# scriptingその後の話題が無いところをみると
どうも今一つなんかな
0582デフォルトの名無しさん
垢版 |
2018/03/08(木) 00:59:56.29ID:D0NacyLc
bashとかが駄目な理由に、bashで書きづらくても、そこからpythonとか他の言語にするなら全部書き直しになる
0585デフォルトの名無しさん
垢版 |
2018/03/15(木) 06:42:05.85ID:D4RVJiAa
OSのシェルとプログラミング言語の区別がない人間ばかりだから仕方ない。
0588デフォルトの名無しさん
垢版 |
2018/03/15(木) 16:51:24.16ID:2jkAdz6t
単に、UNIXなどで単機能インタープリターをシェルと
呼び始めたんで、シェルは別物と思う人たちが出てきて
しまっただけ。
0590デフォルトの名無しさん
垢版 |
2018/03/16(金) 08:54:28.41ID:T21mXgK0
システムコールとライブラリ関数
http://jibun.atmarkit.co.jp/lskill01/rensai/fulinux/02/01.html

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

システムコールとライブラリ関数の違いが実際に役に立つのは、manページを参照するときです。
例えば「printf」にはコマンドのprintfとライブラリ関数のprintfがあるので、
ライブラリ関数のprintfの解説が見たければ「man 3 printf」と入力しないといけません。
「write」にはコマンドのwriteとシステムコールのwriteがあるので、
システムコールのほうが読みたければ「man 2 write」と入力しないといけません。
0591デフォルトの名無しさん
垢版 |
2018/03/17(土) 11:59:28.36ID:4+yOSMEm
>>586
おまえはシェルがシェルスクリプトだと思っているのか?
0592デフォルトの名無しさん
垢版 |
2018/03/17(土) 12:01:46.42ID:4+yOSMEm
シェル用のスクリプトだからシェルスクリプトなのに。
0595デフォルトの名無しさん
垢版 |
2018/03/21(水) 12:31:30.05ID:U1NUu6zm
>>594
そっすか
0598デフォルトの名無しさん
垢版 |
2018/03/22(木) 00:18:59.44ID:tdHViWJs
VSCode の、Code Runner
ソースコードの範囲を選択して、実行できる

これは、便利なプラグイン!
0599デフォルトの名無しさん
垢版 |
2018/03/22(木) 00:26:12.80ID:2RoYBMkH
>>598
それ入れてないけど、範囲選択+F8で部分実行できたぞ
多分バージョンアップで不要になったプラグインだね
0600デフォルトの名無しさん
垢版 |
2018/03/22(木) 01:00:47.33ID:arhMS6Ve
部分実行できる言語もあるしできない言語もある
対象言語にも触れず「これは便利!」っつってる>>598もアホだし、対象言語もわかってないのに「バージョンアップで不要になったプラグイン」っつってる>>599もアホ
0602598
垢版 |
2018/03/22(木) 04:55:52.14ID:tdHViWJs
VSCode の、Code Runner
ソースコードの範囲を選択して、右クリックメニューから実行できる

便利なプラグイン!

PowerShell にも対応している
0604デフォルトの名無しさん
垢版 |
2018/03/24(土) 09:35:21.60ID:9NxgdLlD
powershell coreでNuGetパッケージを使いたい場合ってどうすればいいの
Dapperを使う時にC#だったらdotnet add package Dapper; dotnet restoreだけどpowershellプロジェクトだとどうするのかな
0605デフォルトの名無しさん
垢版 |
2018/03/25(日) 17:30:21.30ID:rN4AhykW
dotnet add package Dapper
dotnet restore --packages ./packages
Add-Type $source -ReferencedAssemblies netstandard, ./packages/.../Dapper.dll

これでできたわ
お前らまじで使えねえなー
0607デフォルトの名無しさん
垢版 |
2018/03/28(水) 21:08:11.49ID:rexEOFUm
とあるフォルダ配下にあるテキストファイルだけ抽出して配列に格納
別のフォルダ配下にあるテキストファイルだけ抽出して配列に格納し配列同士を比較して同じファイルのみを抜き出してCompare-Objectで比較したいんですけどどうやったらできますか?
0608デフォルトの名無しさん
垢版 |
2018/03/28(水) 22:43:30.34ID:WBaBvJPO
>>607
$a = ls "フォルダ1" *.txt
$b = ls "フォルダ2" *.txt
$a + $b | group name | where count -eq 2 | foreach { $_.name; compare (gc $_.group[0] .fullname) (gc $_.group[1].fullname) | ft }
0610デフォルトの名無しさん
垢版 |
2018/03/29(木) 04:02:59.38ID:63+/4se6
>>608
似たようなことよくやるが、やっぱ癖が出るね
自分なら最初こうやるかな
@(
Get-ChildItem "フォルダ1" *.txt
Get-ChildItem "フォルダ2" *.txt
)|

変数あまり使いたくないし、lsは動作がUNIXとは違うから紛らわしくて
0611デフォルトの名無しさん
垢版 |
2018/03/29(木) 07:16:54.73ID:V1TivHhi
>>609
ありゃconemuだと折返し部分に勝手にスペース入っちゃうんだな

>>610
そのへんは好みだとしてもそれ見て気づいたけどファイルが一つしかなくて$aが配列じゃない場合 $a + $b だとエラーになるね
@($a; $b) とすべきだったか
0613デフォルトの名無しさん
垢版 |
2018/03/29(木) 12:10:52.44ID:ZJ5ir4HC
そういう細かい変な挙動がめんどくさいからC#で書いてAdd-Typeしてるわ
Linqあれば大抵の処理はPowerShellより書きやすいし読みやすい
0614デフォルトの名無しさん
垢版 |
2018/03/29(木) 21:42:00.78ID:QJhSKNI2
>>608
ありがとうございます
これやったんですけどcountのところで型エラーになっちゃいました
>>610>>611でもダメみたいです
0616デフォルトの名無しさん
垢版 |
2018/03/29(木) 22:51:24.43ID:V1TivHhi
>>614
powershellのバージョンは?
古いのはよくわからんけど Group-Object -Property Name とかしたらできるんかね 
0617デフォルトの名無しさん
垢版 |
2018/03/29(木) 22:57:06.82ID:V1TivHhi
もしpowershell2ならこれなら動くんじゃないかな、試してないけど
@($a; $b) | Group-Object -Property Name | Where-Object { $_.Count -eq 2 } | Foreach-Object { $_.Name; Compare-Object -ReferenceObject $(Get-Content $_.Group[0].Fullname) -DifferenceObject $(Get-Content $_.Group[1].Fullname) | Format-Table }
0618デフォルトの名無しさん
垢版 |
2018/03/29(木) 23:14:54.79ID:cCEUqbyZ
>>616

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

Name Value
---- -----
CLRVersion 2.0.50727.8762
BuildVersion 6.1.7601.17514
PSVersion 2.0
WSManStackVersion 2.0
PSCompatibleVersions {1.0, 2.0}
SerializationVersion 1.1.0.1
PSRemotingProtocolVersion 2.1
0619デフォルトの名無しさん
垢版 |
2018/03/29(木) 23:18:05.53ID:cCEUqbyZ
>>617
やると↓

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

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

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