【最強CUI】PowerShell -Part 2 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
C#で作ったコンソールアプリのexeをクリックしたらコマンドプロントが開くけど
代わりにpowershellで開けないの? 単純にcmdプロンプトのウインドウを開きたいだけでいいなら
star cmd コマンドプロンプトを開きたいとしか読めない。
質問を見ると、コマンドプロンプトを出さないようにしたいという
意味にはなってないし。
なんなんでしょ? ああごめん、わかった。
単にexeを実行したいってことね。
start xxx.exe
これでいいんじゃない? >>285
C#アプリ側でpowershell上で実行するように変更するか、スクリプトなりショートカットファイルなり使ってpowershell経由で呼べば良いんじゃないかな?
例えばショートカットのリンク先に powershell.exe -noexit C#アプリ.exe とか。
※powershellのフルパスは自動的に補完されると思うけど、C#アプリはフルパスで記入した方が良いよ。 >>285
C#とかのコンソールアプリは別にcmdが裏で動いてたりするわけじゃないよ
powershellも色が付いた単なるコンソールアプリだよ そのアプリの中で、cmd というコマンドを使っていれば、コマンドプロンプト、
powershell というコマンドを使っていれば、PowerShell が起動する
コマンドプロンプトで、powershell と打てば、PowerShell に、
PowerShell で、cmd と打てば、コマンドプロンプトが起動する いわゆるDOS窓はConsoleAPIを使って生成していて
それに対してstdin/outで読み書きしてれば
自作のコンソールアプリ,cmd,powershell等のコンソールアプリ間で相互に呼び出して繋げられるようになっている
Console Functions - Windows Console | Microsoft Docs
https://docs.microsoft.com/en-us/windows/console/console-functions c#のcsi.exeで実行するスクリプトってすごい便利だな知らんかったこれ たしかにC#のスクリプトはお手軽さはないがなんでもできるんだよなあ
ちょっと手のこんだことだとC#のほうが楽 inputboxはC#にないからpowershellからのほうが楽なのねなるほど >>300
今後の問題ってのがWPFにもFormにもあるけど、
わたしゃ、DesktopではPowerShell+WPFでガンガン
作ってますよ。
xamlで書いて。 PowerShell+WPFなめてたけど
おもったより簡単に書けるな
だがPoserShell窓消せないのでC#でexeにしたほうがいいっぽい >>302
スゲー便利よ。WPF表示関数化してる。
VSでデザインした時も、デザイナーのオブジェクトのNameをそのまま
PowerShellの変数で使用できるようにしちゃってるんで、すげー開発
効率高い。ちなみにその関数も20行くらいのもの。
デザインしたら、そのままPowerShellのデータとバインドして表示。 ジャグ配列を返す関数を作ったのですが、ルートの要素が1個の時に戻り値がおかしくなります
ルートの要素が2個以上の場合は起きません。どうしてででしょうか
以下再現コード
function test_jag_array() {
$jag = ,@(@("abc", "def", "ghi", @("jkl", "mno", "pqr", "stu")))
foreach($x in $jag) {
[void]("func " + $x[0] + " " + $x[1] | Out-Host)
for ($i = 3; $i -lt $x.length; $i++) {
$a= $x[$i][0]; $b= $x[$i][1]; $c= $x[$i][2]; $d= $x[$i][3]
[void]("func " + "a:" + $a + " b:" + $b + " c:" + $c + " d:" + $d | Out-Host)
}
}
return $jag
}
$jag = test_jag_array
foreach($x in $jag) {
[void]("res " + $x[0] + " " + $x[1] | Out-Host)
for ($i = 3; $i -lt $x.length; $i++) {
$a= $x[$i][0]; $b= $x[$i][1]; $c= $x[$i][2]; $d= $x[$i][3]
[void]("res " + "a:" + $a + " b:" + $b + " c:" + $c + " d:" + $d | Out-Host)
}
}
上の実行結果
func abc def ←期待する結果
func a:jkl b:mno c:pqr d:stu ←期待する結果
res a b ←なんじゃこれ・・・
res d e ←なんじゃこれ・・・
res g h ←なんじゃこれ・・・
res jkl mno ←なんじゃこれ・・・
res a:s b:t c:u d: ←なんじゃこれ・・・ ↑をルート要素2で試す場合は$jagを以下に変えてください。
$jag = ,@(@("abc", "def", "ghi", @("jkl", "mno", "pqr", "stu")), `
@("abc", "def", "ghi", @("jkl", "mno", "pqr", "stu")))
要素1を回避するコードを加えて一応この問題は解決はしてますが、バグの特定で1日潰れました。 こんな感じでいける
function test_jag_array() {
$jag1 = , ("abc", "def", "ghi", ("jkl", "mno", "pqr", "stu"))
$jag2 = , ("abc", "def", "ghi", ("jkl", "mno", "pqr", "stu")),
("abc", "def", "ghi", ("jkl", "mno", "pqr", "stu"))
$jag = $jag1 # jag1の場合
〜省略(元のまま)〜
Write-Output -NoEnumerate $jag
} >>308
訂正
$jag2の右辺の最初のコンマ演算子いらないわ取り除いて
これだと最初の要素がさらに配列に包まれてしまう
なかなか一貫性のある書き方が難しいね >>307
ありがとうございます。
実装(=仕様?)が変なんですね。
VBScriptのarrayのような順序付き汎用コンテナとして使うつもりでいましたが
他の手段も考えてみます。 どうせならXPにも対応して欲しいな
古いマシン再利用できるかもしれん 馬鹿には使いこなせいPowerShell。つまりゴミ。 > 使いこなせい
日本語もまともに書けない馬鹿 = >>318 は使えないってことか w そのとおり。馬鹿には使いこなせないPowerShell。vi並の粗大ゴミ。
WSH捨てたことを一生後悔することだろう。というかPowerShellなど普及することはない。WPF並の生ゴミ。悪臭がする。 ほぼサーバ用途なのに自分だけ使えれば問題ないとか保守のことを全く考えないおれ天才君が作ったもの。
それがPowerShell。普及するわけがない。 ごめんな、うちの会社は普通にみんな使えてるから w
底辺は色々大変だね
あとサーバー用途だけじゃなくて、ちょっとしたテキスト処理とかでも便利に使えるし
まあついていけない人はWSH使ってりゃいいんじゃね? 嘘だね。使えてない奴が使えてるフリしてるだけ。そういうバグあり馬鹿コードを多くの大手SIerの保守案件で散々見てきた。
MSが提供するサンプルコードすら惨いときもあるのにおまえの会社だけは「普 通 に み ん な 使 え て る」という。
キミの口はジョブス並みだな。 PS万歳とは言わないけど
何出して来るかと思ったら結局WSHかよ… PowerShellを出すならNT4.0のときだったんだよ。昔のMSは互換性、保守を重要視してくれた。
ゲイツがいなくなって今ではまるでジョブスのように切り捨ての王様になってしまった。直にPowerShellもなかったことになるだろう。
もはやMSの凋落は必至。 >>326
> 直にPowerShellもなかったことになるだろう。
すでにオープンソースになっててLinuxですら動くことも知らないんだろうな w >>328
それだが、PowerShellはクソ言語と、悪いけど俺も思っていて、それでも使うのは素のMS-Windowsに載っていて、Windows操作に必要だからでしかないんだよね。
こんなモノのLinuxやMac版を誰が使うんだろう。
まともなC言語環境のあるLinuxやBSD(Mac)でC#みたいな劣化言語を使いたい人なんていない。PSも同様だと思うので、一体誰に向けた動きなのかと。 >>332
理解できない言語を糞認定 w
どこが糞か書いてみ PowerShellはPerlを弄ってた時のワクワク感を思い出させる。
「折衷主義者のガラクタ」って揶揄されてたPerlに似てるところが好きだ。 しょーもな低スキルの低能丸出しのレスばっか
中身のある技術的な話を誰一人できないっていう おバカ自慢とか変な自治厨が住み着いてて居心地悪いわ
使いにくいのは事実なんだから仕方ねーじゃん >>338
> 使いにくいのは事実なんだから仕方ねーじゃん
お前にはそうなんだろうな... そもそもオープンソース化して喜ぶとかウニ厨でしょう。 >>338
おバカ自慢て言われた程度で自治厨とか繊細すぎるな
あんた2chに向いてないと思う 馬鹿だから使えない理論はvi厨の論法。使いにくいという事実を受け入れられない共産主義者。 MS-Windowsのデバイスドライバ辺りをオープンソース化してくれるならともかく、PowerShellよりマシなものが沢山ある環境にこんな糞を投入されて喜ぶウニ厨なんていないでしょう。 プレーンテキスト至上主義のunixで使えたところでそんなにうれしくないのは確か デバドラのサンプルソースは一通り揃ってるし、WDFはオープンソース化したというニュースを昔に見たが。
というかドキュメント整備したくないからソース見てくれって話だろう。つまり手抜き。
MSDNライブラリもスナップショットの提供を止めてから崩壊してるし。
無能PGが増えてコード品質の低下が止まらなくなってんだよ、今のMSは。 >>342
だからどこが使い辛いんだよ、具体的に書いてみなよ
よくわからずに語ってるんじゃないんでしょ? >>>>346
Perl使ってみて、それでもPowerShellが良いって思うんならもう言うことは無いな 結局具体的なことなにもいえないっていう
どの言語もろくに使えないのでは?
ご自慢のPerlつかってればいいと思うよ 使える使えないの議論はしてないってことが根本から分かってない奴には困ったもんだ そんなにPowerShellがクソなら、なんでGoogleがPowerShellモジュールを作ったりしてるんだよ
Cloud Tools for PowerShell
https://cloud.google.com/powershell/ 結論ありきの言い逃げがしたいだけだから、そもそも議論になってないだけだよ PowerShellは世界最強のシェル。
ただ使う人が少ない、使いこなせている人が少ないのがどうにも。 googleはただのパクり屋。google様が使ってるから素晴らしいみたいな
マカーのような価値観の人がいるようだが、MSのほうがよほどマシ。 そもそもなんでPowerSherllの比較対象がperlなんだ?
bashとかのunixシェルなら分かるが bash じゃ正規表現や連想配列も使えないだろ
って言う老害でしょ よほどPowerShellが気になってるんでしょうね
わざわざ来るくらいだから 大学とかで勉強し始めたばかりの奴が自分のOSや言語を作りたいって人いるじゃん。
そんな奴が作った感じするんだよね、PowerShellは。使う側のことを何も考えてないっていうか。
PowerShellには期待してたけど、残念賞あげたいレベル。 まあMSがこれだけ時間をかけて普及させようとがんばってきたのにちっとも普及しなかったからな
さらに.NET FrameworkベースのPowerShellで頑張ってればいいのに.NET Coreベースに移行するのは吉とでるか凶と出るか リボンUIとかメトロUIもそんな奴が作った感じするんだよね。今まで便利で不満なかったものが、
今からおれが考えたこれ使えと言いつつ自分は碌に使ってないから何が不便かすら理解していない。
結局移行してもらえず、無料にしたり、オープンソースにしたり。 >自分は碌に使ってないから何が不便かすら理解していない。
おまえがなーw
PowerShellのイケてないところはたしかにあるんだよ
でもお前はなにひとつ具体的にあげられないから議論にならない
典型的な批判してる俺かっこいいのプログラミング初心者だろうw >>362
リボン導入前のOfficeがどんなUIだったか知らないのか?
ttp://www.aoky.net/articles/david_pogue/images/toolbars.jpg 評判が悪ければすぐ撤回するのはゲイツの思想。
移行してもらえないのをユーザが馬鹿だからって基本ジョブスの思想なんだよね。
そもそもなんでそういう奴がWindows使ってるのか謎。Macでも使ってろよ。
まぁゲイツが引退してからのMSはまるでアップルだけどね。欠陥品のゴリ押しばかり。 結局具体的な使い辛さも言えずにぶつぶつ独り言を言うだけかよ... そういうことは移行を拒否した大勢の顧客に聞くべきだったのだ。ゲイツならそうした。
Vista、Office2007、Windows8、WPF、PowerShell、ワンボタンマウス・・・いくらでも例はある。 説明するまでもないこと
具体例云々繰り返す奴はLinux板で良く見かけるよ 結局、PowerShellって何がしたかったんだ?Unixシェルの駆逐? >>371
Unixシェルの駆逐(笑)が目的ならbash on Windowsなんか作らないだろ… 駆逐どころか、(Unixのログインシェルに移植版PowerShellを使えるか知らんが)PSのログインシェル人口が絶滅危惧種のcshに追いつけたら大成功だと思うよ。 なにいってんだ
bash on windowsもMacやLinuxでのPowershellも開発用
普段LinuxやMac使ってる人がWinでも開発しやすくするため、逆もしかり
なんで追いつけたら大成功なんてアホなこと言ってんの 単純にMSはコマンドプロンプトを完全にPowerShellに置き換えようとしたの? >>370
> 説明するまでもないこと
説明できない奴の常套句 w Cmdlet適当に組み合わせるだけでもいろんな事ができて便利なので使ってるけど、正直構文はちょっとキモいと思ってる
JScript/WSHの延長でTypeScriptっぽくしたほうが良かったんじゃ >>378
> 正直構文はちょっとキモいと思ってる
そうか?
まあ == の代わりに -eq とかはちょい見辛い気はする
あと関数内で単なる式を書くと戻り値になるとかも慣れないと気持ち悪いな
でもそれより配列の扱いが特殊な方が気になる なんだかんだと言いながら
PowerShell利用は急激に増えてるのは事実なんで
それでいいんじゃないの 結局、PowerShellがどういう意図で開発されたんだ?
なんでこの程度の基本的な質問すら誰も回答しないでスルーする? powershell覚えようかと思ったけど、bash使えるようになったからもういいや ■ このスレッドは過去ログ倉庫に格納されています