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

0001デフォルトの名無しさん2016/11/26(土) 06:30:02.67 ID:pZYy6q7Y
前スレ
【最強CUI】PowerShell -Part 1
http://echo.2ch.net/test/read.cgi/tech/1378978504/
0002デフォルトの名無しさん2016/11/26(土) 08:38:40.61 ID:bM77xh/N
> http://echo.2ch.net/test/read.cgi/tech/1378978504/995
お前がそう思うならお前の中ではそうなんだろう
ただ、前スレ972,984が主張しているのは同じ系列か違う系列かとは別次元の主張だと思うけどね
前スレ972,984は言語の違いに具体性をあげて主張し、お前(995)は「言語系が違うから考えるだけ無駄」と一刀両断してる
「言語系が違う」とは「具体的に何が違ってどう問題なのか」まで詰めないと反論にはならない
0003デフォルトの名無しさん2016/11/26(土) 12:21:03.02 ID:pZYy6q7Y
>>2
998 見たのか?
0004デフォルトの名無しさん2016/11/26(土) 13:25:00.87 ID:Xhkbzj96
pascalとobject pascalが同系統でないと言うなら一部くらいは認めてもいい
0005デフォルトの名無しさん2016/11/26(土) 13:32:13.97 ID:mgzn+G7H
前スレのやりとり(一部抜粋)

972:
VBよりPythonとかのモダンなヤツの方が言語として使いやすいのはあると思う

(俺注)この人はモダンなやつの方が使いやすいと言っている

983:
>>972
言語系が違うから
同じ系統と使っていた人はそちらが使いやすい

(俺注)この人は、モダンかどうかより「系統」だと言っている

984,985:
>>983
レスが付いたので一応返すけど。
自分が列挙したのは機能不足の例であって、あなたが言うような言語系の違いでは無いと思う。
自分はVBAの文法は不足点が多いと思うけど、後継のVBA.netにはそういう不足は感じない。

VBA.net→VB.netのtypo

(俺注)やっぱりモダンなやつの方が使いやすいと言っている
(俺注)VBAには不足があるがVB.netはそうじゃない(別もの)とも言っている

986:
>>984
VBA と VB.net じゃ全然違う言語だろ w

(俺注)変な横やりが入る
0006デフォルトの名無しさん2016/11/27(日) 02:39:10.63 ID:cSdhTM+D
powershellはモダンなのだろうか
0007デフォルトの名無しさん2016/11/27(日) 08:31:43.93 ID:sPwCN3IY
PythonやRubyよりはモダンだと思うよ
0008デフォルトの名無しさん2016/11/27(日) 14:08:51.55 ID:p8mIwYr3
>>7
クラスの継承もまともにできないのに?
0009デフォルトの名無しさん2016/11/27(日) 19:49:04.61 ID:sPwCN3IY
>>8
PowerShellでOOPせざるを得ない人達はほんとご愁傷様だと思う
0010デフォルトの名無しさん2016/11/27(日) 19:57:47.17 ID:p8mIwYr3
>>9
そんな奴いないだろ...
0011デフォルトの名無しさん2016/11/27(日) 20:39:57.59 ID:4NtVYg/G
0012デフォルトの名無しさん2016/11/27(日) 21:12:10.43 ID:p8mIwYr3
>>11
でどうやって継承するの?
0013デフォルトの名無しさん2016/11/27(日) 23:07:57.33 ID:5uLlPcla
派生クラスを定義したいんじゃないの???
0014デフォルトの名無しさん2016/11/28(月) 06:23:35.13 ID:d2SeRThv
こういうのはOS標準で入ってるバージョンでそれなりのことができないと意味がないと思う
0015デフォルトの名無しさん2016/11/28(月) 20:04:04.40 ID:69hXfWEY
それなりのことはできるけどPSv2でやるのは辛すぎる…
batだのWSHに比べたら万倍マシなんだけどさ
0016デフォルトの名無しさん2016/11/28(月) 20:48:33.20 ID:i2zpQyTO
ネタあるやつ、誰か参加してやれよww

PowerShell Advent Calendar 2016
http://qiita.com/advent-calendar/2016/powershell
0017デフォルトの名無しさん2016/11/28(月) 22:04:09.61 ID:CyOV/kcr
>>16
タネも用意せずにネタ振れとか何を考えてるんだよ w
0018デフォルトの名無しさん2016/11/29(火) 03:34:35.62 ID:5xImsroJ
Windows 10 次期アップデートでコマンドプロンプト廃止
http://hayabusa8.2ch.net/test/read.cgi/news/1479719509/
> fossBytesに11月19日(米国時間)に掲載された記事「Microsoft Replaces Command Prompt
> With PowerShell As Windows 10 Default Shell」が、Windows 10のデフォルトシェルが
> コマンドプロンプトからPowerShellに変更されると伝えた。Windows 10 Insider Build 14971で
> すでに入れ替えが実施されたと説明がある。
0019デフォルトの名無しさん2016/11/29(火) 04:31:39.05 ID:RlyL1LQc
>>18
この嘘ニュースでAdvent Calendar一本書けるやん。
0020デフォルトの名無しさん2016/11/29(火) 09:54:45.69 ID:oCXf0b/G
>>15
v2唯一のメリット
それはコマンドレットのヘルプがv3+と違って日本語化されていることだww

https://technet.microsoft.com/ja-jp/library/dd347701.aspx
0021デフォルトの名無しさん2016/11/30(水) 02:32:30.35 ID:PeC/aWZc
imgur.com/a/XVI2u.jpg
0022デフォルトの名無しさん2016/11/30(水) 07:46:00.01 ID:ycotJF0t
アセンブリ読み込む前にクラスが見えたり見えなかったりするのはどういう理屈なん?

http://i.imgur.com/Aev8NFz.png

二回目の入力は
0023デフォルトの名無しさん2016/11/30(水) 07:47:24.54 ID:ycotJF0t
あれ切れた・・・

二回目の入力は
"[system.draw" + tab補完試す→何も起きない + "ing.image]"
というキー入力してるんだが、こうやると何故か見えるようになるみたい

大人しくアセンブリ読み込めばいいだけだしおま環事象かもしれないけどこうなるメカニズムが気になる
0024デフォルトの名無しさん2016/11/30(水) 08:14:04.76 ID:ycotJF0t
あーよくわからんが理由はなんとなくわかった
tab補完試したら勝手にアセンブリが追加されて増えてたみたい
powershellの仕様ってことかな、よくわからんけど
0025デフォルトの名無しさん2016/11/30(水) 13:19:03.28 ID:3Q1IinyT
>>22-23
2chのバグだろう

書き込み確認画面が出る際、" を使うと、そこで文字列の終了とみなされる。
" の代わりに、\" とエスケープすれば、どうだろう?

それか、書き込み確認画面が出たら、1度キャンセルすれば、確認画面は出ないようになった
0026デフォルトの名無しさん2016/12/01(木) 00:50:22.04 ID:KhJS093x
rubyとかpythonのラッパーないの?とか言ってたやつまだいるのかね
0027デフォルトの名無しさん2016/12/03(土) 00:13:22.41 ID:55Oi6B7P
じゃあ。
rubyとかpythonのラッパーないの?
0028デフォルトの名無しさん2016/12/03(土) 14:13:51.52 ID:kCQb0c0Q
rubyとかpythonのラッパーって何?
IronRubyやIronPythonの事?
0029デフォルトの名無しさん2016/12/08(木) 13:37:02.95 ID:MkJf2qz2
今度、職場がオフライン環境となり、
これまで使っていたcygwin(シェル、ruby)をインストール出来なくなりそう。
powershellならWindows標準でついてくるみたいですが
代用になりそうですかね?
用途はテキスト加工がメインです
0030デフォルトの名無しさん2016/12/08(木) 13:56:17.78 ID:0Yf63N90
.NET CLIのregexpが使えるから何とかなるんじゃない
0031デフォルトの名無しさん2016/12/08(木) 19:32:39.61 ID:3zYsuSQR
.NETインストールされてる環境ならC#の方がいいでしょ
あえてps使う理由ってあるの?
0032デフォルトの名無しさん2016/12/08(木) 19:36:26.58 ID:WR2cMfp2
>>29
PSもシェルスクリプトだからシェルは問題なく代用できる

Rubyは本格的なOOPとかメタプログラミングとか
難しいことやらなければおおむね代用可能だと思う
0033デフォルトの名無しさん2016/12/08(木) 21:42:22.05 ID:q5VqGHc1
>>31
VS入れられない環境でも使える
0034292016/12/09(金) 02:40:50.47 ID:rHK/kpVD
説明不足ですみません。
非プログラマー職なので、
powershell、エクセルvba、wsh(vbs,js)、バッチファイルみたいな
最初からWindowsに入ってる
プログラミング環境しか使えないという状況でした。
0035デフォルトの名無しさん2016/12/09(金) 06:40:12.38 ID:CLppIZfJ
>>31
オフラインって書いてあるのにどうやって開発環境を揃える気なんだろう...
0036デフォルトの名無しさん2016/12/09(金) 13:50:08.79 ID:wCfW6wuS
いやだから世の中プログラマばっかじゃないんだよ
0037デフォルトの名無しさん2016/12/09(金) 21:13:49.63 ID:EGB1gDys
>>36
そう言う人が来る板じゃないんだが...
0038デフォルトの名無しさん2016/12/10(土) 10:58:52.86 ID:m8d8Cjww
確かに、ここの存在価値は

Windows PowerShell Part5
http://echo.2ch.net/test/read.cgi/win/1474175184/
0039デフォルトの名無しさん2016/12/12(月) 18:53:22.19 ID:GhP5dmpO
一応Add-TypeでC#やVB.NETも使えないことはないがVS無しで書くのは本当に苦行だからおすすめしない
0040デフォルトの名無しさん2016/12/29(木) 03:05:33.41 ID:KJUJiytz
ファイルがダウンロードされたものか、ローカルで作成されたものかってどうやって判別してるんだろ
0041デフォルトの名無しさん2016/12/29(木) 03:10:31.23 ID:zJOypbPn
ADSのフラグ見てるだけ
0042デフォルトの名無しさん2016/12/29(木) 11:00:11.70 ID:BD9K+jOv
ZONE
0043デフォルトの名無しさん2016/12/29(木) 15:16:02.15 ID:fFqM3XL7
Get-Content -Path hoge -Stream Zone.Identifier
0044デフォルトの名無しさん2016/12/31(土) 16:47:59.77 ID:i7Y8czLd
>>37
別に来ていいと思うけど...
0045デフォルトの名無しさん2016/12/31(土) 17:05:35.32 ID:RP5GqFRc
>>44
プログラム技術@2ch掲示板
この板はプログラムを作る人のための板です。
0046デフォルトの名無しさん2016/12/31(土) 17:07:39.35 ID:MAfU3vVP
マ板は?
0047デフォルトの名無しさん2016/12/31(土) 19:44:21.14 ID:RP5GqFRc
>>46
自分で調べろよ
0048デフォルトの名無しさん2017/01/21(土) 18:05:10.76 ID:W/zpHkC+
PS ISE以外に開発環境ってある?
テンプレート、シンタックスハイライト、入力補完、デバッガあたりが揃ってるやつ
0049デフォルトの名無しさん2017/01/24(火) 20:07:56.75 ID:wqAMcCVq
パスの扱いがよくわからん
System.IOを使うときはフルパスで渡すのが基本なのか?
0050デフォルトの名無しさん2017/01/24(火) 20:10:15.91 ID:fUCXytHT
はい
0051デフォルトの名無しさん2017/01/24(火) 20:49:09.93 ID:HHZbO6eg
普通にカレントディレクトリからの相対もできたと思うが...
なんか変な挙動あったっけ?
0052デフォルトの名無しさん2017/01/24(火) 20:53:59.82 ID:QirY2NrM
PowerShellってみなさんどうやって覚えてる?
必要になったものをググって都度対応してるけど、
なんかおすすめの学習方法ないですか?
0053デフォルトの名無しさん2017/01/24(火) 21:46:31.63 ID:ELq8qfcr
コマンドレットって語感が気色悪い
0054デフォルトの名無しさん2017/01/24(火) 22:27:48.01 ID:LErlSC41
>>52
基本それしかないかな
後はabout_系のヘルプを片っ端から読んでみるとか
https://msdn.microsoft.com/ja-jp/powershell/scripting/core-powershell/core-modules/windows-powershell-core-about-topics
0055デフォルトの名無しさん2017/01/24(火) 23:12:30.12 ID:vfnHFTTm
>>51
よくあるのはPowerShell自身とCLRでカレントディレクトリの管理が別々なせいで祖対パスが通らない、とかかな
0056デフォルトの名無しさん2017/01/25(水) 00:33:26.03 ID:09UbFk9J
VBSみたいにchmファイル的なオフラインヘルプって作れないの?
0057デフォルトの名無しさん2017/01/25(水) 06:47:08.95 ID:fntd/u0o
>>55
CLR のカレントディレクトリなんてあるの?
詳しく教えてほしい
0058デフォルトの名無しさん2017/01/25(水) 22:51:46.01 ID:t2eusvsp
>>57
そういう言葉で表現があってるかは分からないけど
スタティックメソッドに相対パスを渡すとそのメソッドはGetCurrentDirectoryメソッドで返ってくるパスをカレントディレクトリとして認識するよって話
ttp://stknohg.hatenablog.jp/entry/2015/04/30/232255
0059デフォルトの名無しさん2017/01/26(木) 06:59:08.30 ID:A4ZgtzRu
>>58
ほえー、これは知らんかったわ
ひとつ勉強になった
サンクス
0060デフォルトの名無しさん2017/02/01(水) 03:21:38.21 ID:0Q4jk/+z
Show-Commandって何に使うの?
0061デフォルトの名無しさん2017/02/01(水) 12:56:50.43 ID:kNSk5VZr
>>60
Get-Help の GUI 版みたいな感じじゃね
うちはまだ Version 2.0 使ってるからよくわからんが
0062デフォルトの名無しさん2017/02/03(金) 21:42:08.19 ID://drF8hq
>>48
PowerShell Script の エディタ と Visual Studio
http://tech.guitarrapc.com/entry/2014/09/29/102211
Visual Studio Code を PowerShell 用にインストールする
http://www.vwnet.jp/Windows/PowerShell/2016111501/VSCode4PS_Install.htm
0063デフォルトの名無しさん2017/02/15(水) 21:19:49.53 ID:wfPvVi6q
会社の人が意地悪してRestrictedから変えてくれない(´;ω;`)
0064デフォルトの名無しさん2017/02/18(土) 03:43:07.08 ID:0VkJqvdT
C#でイナフ
0065デフォルトの名無しさん2017/02/27(月) 21:46:23.66 ID:62PirtiY
OSのLocalSystemアカウントでWinRMコマンドは動かないんですよね?
0066デフォルトの名無しさん2017/02/28(火) 04:23:14.83 ID:9miyuyTg
age
0067デフォルトの名無しさん2017/03/15(水) 03:25:58.68 ID:mD7g4mUz
変数 $? について質問です。

コマンドレットの終了ステータスを$?で取得する分にはいいんですが、
functionで定義した関数の終了結果を$?に反映するのはどうしたらいいんでしょうか?
コマンドレットは
Cmd -hoge
の直後に $? で判定できますが、
これが関数だと
$result = Cmd -hoge
とか
Cmd -hoge ([ref]$result)
とかやってわざわざ結果を受け渡さないといけないのがダルくて・・。
true/falseぐらいなんとかならないんですかね・・

無理やりやる場合、
throw "error"
とかやれば、$? にfalseは入りそうですが、trueの場合は・・?

何かスマートな解決方法がありましたら教えてください。
0068デフォルトの名無しさん2017/03/16(木) 23:01:24.01 ID:VxkBx001
関数の終了結果って何?戻り値の事?
0069672017/03/17(金) 02:14:53.86 ID:hRDUDw/w
>>68
ああ、変な書き方してますね。すいません。

戻り値ではなく、関数実行の成否を
コマンドレットと同じように扱いたい、という意味です。
戻り値になるとWrite-Hostするとかいろいろあると思いますが、
呼び出し側で受け取らないといけないですし、

要は、おおざっぱに書くと

function hoge()
{
//なんかの処理
if ( exec )
{
// 成功
$? = true
}
else {
// 失敗
$? = false
}
}

みたいにできると
hogeの呼び出し側で
$?を見て判断できるので、
コマンドレットと統一したいなぁ、と。

関数やコマンドレットを別のテーブルにつっこんで、
連想配列呼び出しなどを行いたいので、
実行の成否判定を一つの方法に統一したいのです。
0070デフォルトの名無しさん2017/03/17(金) 09:55:31.77 ID:80x1YWgW
成功や失敗の定義が分からないけど、普通の関数呼び出しでも$?は更新されるでしょ

http://i.imgur.com/Xi3hIf9.jpg
0071デフォルトの名無しさん2017/03/17(金) 18:48:41.55 ID:dpI1G6OF
>>70
例外発生させずに $false に設定したいんでしょ
0072デフォルトの名無しさん2017/03/18(土) 14:54:47.02 ID:506uEQ55
$?は定数なのでユーザーが値を変更するのは無理
0073デフォルトの名無しさん2017/03/18(土) 17:24:00.94 ID:1jN6Nl4i
定数?
0074722017/03/23(木) 21:20:42.65 ID:a5UvHPnh
定数じゃなくて読み取り専用だった
Set-Variable -Force で値を変更できるけど、
値を変更したっていう「処理に成功」したことを処理系が感知して上書きしちゃうから意味ない

http://i.imgur.com/oCyQDIB.jpg
0075デフォルトの名無しさん2017/03/28(火) 01:25:27.68 ID:OfwVHftk
みなさんInvoke-WebRequestって正しくダウンロードできますか?

以前は50MB程度のファイルでも正しく落とせていたのですが、
最近実行してみたら、50kB程度しかダウンロードしないですぐコマンドが完了します。
しかも終了ステータスはTRUEで、
try/catchで挟んでもなにも検出されないという・・・。

まったく同じURLで
Start-BitsTransferやbitsadmin
msys2のwgetなどでは正しくダウンロードできました・・。

こういうのって何が原因として考えられますかね?

ちなみにURLはこちらです。
http://jaist.dl.sourceforge.net/project/msys2/Base/x86_64/msys2-base-x86_64-20161025.tar.xz
0076デフォルトの名無しさん2017/03/28(火) 13:29:30.59 ID:eplQq0Of
PSでセルオートマトン作ってみた
ヒマな時に実行したってや

$x = 79;$L = 1,(2..$x|%{0})
0..36000|%{
($L|%{if($_){'@'}else{' '}}) -join ''
$L = 0..($x-1)|%{$L[$_] -xor $L[($_+$x-1)%$x]}
sleep -Milliseconds 100
}
0077デフォルトの名無しさん2017/04/07(金) 18:51:24.69 ID:qFjL5HdN
C#でOkというような
PowerShellとC#一緒にしてるような人ってなに?
使い分けもわからん人かな
0078デフォルトの名無しさん2017/04/08(土) 09:33:30.32 ID:MEx1rivP
なんでもExcelで作ろうとしちゃうおっさんと同じじゃなの
0079デフォルトの名無しさん2017/04/08(土) 09:40:11.22 ID:05fh3MNN
開発環境に恵まれてるんでしょ
ぼくはiseさんだけがたよりです
0080デフォルトの名無しさん2017/04/10(月) 22:06:32.07 ID:uKsodgl6
"$($a='abc')$a"
ってやったら
abc
が表示される
で、
"$($a=')abc(')$a"
ってやろうとしたら
文字列の終端記号 ' がありません
って怒られるんだけどなぜなんだろ?
とりあえず今は
$b = ')abc('
"$($a=$b)$a"
ってやってるんだけどなんかいい方法ある?
0081デフォルトの名無しさん2017/04/10(月) 22:41:24.99 ID:gkDuG+d4
>>80
"$($a=(')abc('))$a"
0082デフォルトの名無しさん2017/04/10(月) 22:49:14.71 ID:uKsodgl6
>>81
なるほど、これは気づかなかったわ
サンクス
新着レスの表示
レスを投稿する