5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

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

1 :デフォルトの名無しさん:2016/11/26(土) 06:30:02.67 ID:pZYy6q7Y
前スレ
【最強CUI】PowerShell -Part 1
http://echo.2ch.net/test/read.cgi/tech/1378978504/

2 :デフォルトの名無しさん: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)は「言語系が違うから考えるだけ無駄」と一刀両断してる
「言語系が違う」とは「具体的に何が違ってどう問題なのか」まで詰めないと反論にはならない

3 :デフォルトの名無しさん:2016/11/26(土) 12:21:03.02 ID:pZYy6q7Y
>>2
998 見たのか?

4 :デフォルトの名無しさん:2016/11/26(土) 13:25:00.87 ID:Xhkbzj96
pascalとobject pascalが同系統でないと言うなら一部くらいは認めてもいい

5 :デフォルトの名無しさん: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

(俺注)変な横やりが入る

6 :デフォルトの名無しさん:2016/11/27(日) 02:39:10.63 ID:cSdhTM+D
powershellはモダンなのだろうか

7 :デフォルトの名無しさん:2016/11/27(日) 08:31:43.93 ID:sPwCN3IY
PythonやRubyよりはモダンだと思うよ

8 :デフォルトの名無しさん:2016/11/27(日) 14:08:51.55 ID:p8mIwYr3
>>7
クラスの継承もまともにできないのに?

9 :デフォルトの名無しさん:2016/11/27(日) 19:49:04.61 ID:sPwCN3IY
>>8
PowerShellでOOPせざるを得ない人達はほんとご愁傷様だと思う

10 :デフォルトの名無しさん:2016/11/27(日) 19:57:47.17 ID:p8mIwYr3
>>9
そんな奴いないだろ...

11 :デフォルトの名無しさん:2016/11/27(日) 20:39:57.59 ID:4NtVYg/G
>>8
基本クラスの宣言
https://msdn.microsoft.com/ja-jp/powershell/wmf/5.0/class_base

12 :デフォルトの名無しさん:2016/11/27(日) 21:12:10.43 ID:p8mIwYr3
>>11
でどうやって継承するの?

13 :デフォルトの名無しさん:2016/11/27(日) 23:07:57.33 ID:5uLlPcla
派生クラスを定義したいんじゃないの???

14 :デフォルトの名無しさん:2016/11/28(月) 06:23:35.13 ID:d2SeRThv
こういうのはOS標準で入ってるバージョンでそれなりのことができないと意味がないと思う

15 :デフォルトの名無しさん:2016/11/28(月) 20:04:04.40 ID:69hXfWEY
それなりのことはできるけどPSv2でやるのは辛すぎる…
batだのWSHに比べたら万倍マシなんだけどさ

16 :デフォルトの名無しさん:2016/11/28(月) 20:48:33.20 ID:i2zpQyTO
ネタあるやつ、誰か参加してやれよww

PowerShell Advent Calendar 2016
http://qiita.com/advent-calendar/2016/powershell

17 :デフォルトの名無しさん:2016/11/28(月) 22:04:09.61 ID:CyOV/kcr
>>16
タネも用意せずにネタ振れとか何を考えてるんだよ w

18 :デフォルトの名無しさん: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で
> すでに入れ替えが実施されたと説明がある。

19 :デフォルトの名無しさん:2016/11/29(火) 04:31:39.05 ID:RlyL1LQc
>>18
この嘘ニュースでAdvent Calendar一本書けるやん。

20 :デフォルトの名無しさん:2016/11/29(火) 09:54:45.69 ID:oCXf0b/G
>>15
v2唯一のメリット
それはコマンドレットのヘルプがv3+と違って日本語化されていることだww

https://technet.microsoft.com/ja-jp/library/dd347701.aspx

21 :デフォルトの名無しさん:2016/11/30(水) 02:32:30.35 ID:PeC/aWZc
imgur.com/a/XVI2u.jpg

22 :デフォルトの名無しさん:2016/11/30(水) 07:46:00.01 ID:ycotJF0t
アセンブリ読み込む前にクラスが見えたり見えなかったりするのはどういう理屈なん?

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

二回目の入力は

23 :デフォルトの名無しさん:2016/11/30(水) 07:47:24.54 ID:ycotJF0t
あれ切れた・・・

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

大人しくアセンブリ読み込めばいいだけだしおま環事象かもしれないけどこうなるメカニズムが気になる

24 :デフォルトの名無しさん:2016/11/30(水) 08:14:04.76 ID:ycotJF0t
あーよくわからんが理由はなんとなくわかった
tab補完試したら勝手にアセンブリが追加されて増えてたみたい
powershellの仕様ってことかな、よくわからんけど

25 :デフォルトの名無しさん:2016/11/30(水) 13:19:03.28 ID:3Q1IinyT
>>22-23
2chのバグだろう

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

それか、書き込み確認画面が出たら、1度キャンセルすれば、確認画面は出ないようになった

26 :デフォルトの名無しさん:2016/12/01(木) 00:50:22.04 ID:KhJS093x
rubyとかpythonのラッパーないの?とか言ってたやつまだいるのかね

27 :デフォルトの名無しさん:2016/12/03(土) 00:13:22.41 ID:55Oi6B7P
じゃあ。
rubyとかpythonのラッパーないの?

28 :デフォルトの名無しさん:2016/12/03(土) 14:13:51.52 ID:kCQb0c0Q
rubyとかpythonのラッパーって何?
IronRubyやIronPythonの事?

29 :デフォルトの名無しさん:2016/12/08(木) 13:37:02.95 ID:MkJf2qz2
今度、職場がオフライン環境となり、
これまで使っていたcygwin(シェル、ruby)をインストール出来なくなりそう。
powershellならWindows標準でついてくるみたいですが
代用になりそうですかね?
用途はテキスト加工がメインです

30 :デフォルトの名無しさん:2016/12/08(木) 13:56:17.78 ID:0Yf63N90
.NET CLIのregexpが使えるから何とかなるんじゃない

31 :デフォルトの名無しさん:2016/12/08(木) 19:32:39.61 ID:3zYsuSQR
.NETインストールされてる環境ならC#の方がいいでしょ
あえてps使う理由ってあるの?

32 :デフォルトの名無しさん:2016/12/08(木) 19:36:26.58 ID:WR2cMfp2
>>29
PSもシェルスクリプトだからシェルは問題なく代用できる

Rubyは本格的なOOPとかメタプログラミングとか
難しいことやらなければおおむね代用可能だと思う

33 :デフォルトの名無しさん:2016/12/08(木) 21:42:22.05 ID:q5VqGHc1
>>31
VS入れられない環境でも使える

34 :29:2016/12/09(金) 02:40:50.47 ID:rHK/kpVD
説明不足ですみません。
非プログラマー職なので、
powershell、エクセルvba、wsh(vbs,js)、バッチファイルみたいな
最初からWindowsに入ってる
プログラミング環境しか使えないという状況でした。

35 :デフォルトの名無しさん:2016/12/09(金) 06:40:12.38 ID:CLppIZfJ
>>31
オフラインって書いてあるのにどうやって開発環境を揃える気なんだろう...

36 :デフォルトの名無しさん:2016/12/09(金) 13:50:08.79 ID:wCfW6wuS
いやだから世の中プログラマばっかじゃないんだよ

37 :デフォルトの名無しさん:2016/12/09(金) 21:13:49.63 ID:EGB1gDys
>>36
そう言う人が来る板じゃないんだが...

38 :デフォルトの名無しさん:2016/12/10(土) 10:58:52.86 ID:m8d8Cjww
確かに、ここの存在価値は

Windows PowerShell Part5
http://echo.2ch.net/test/read.cgi/win/1474175184/

39 :デフォルトの名無しさん:2016/12/12(月) 18:53:22.19 ID:GhP5dmpO
一応Add-TypeでC#やVB.NETも使えないことはないがVS無しで書くのは本当に苦行だからおすすめしない

40 :デフォルトの名無しさん:2016/12/29(木) 03:05:33.41 ID:KJUJiytz
ファイルがダウンロードされたものか、ローカルで作成されたものかってどうやって判別してるんだろ

41 :デフォルトの名無しさん:2016/12/29(木) 03:10:31.23 ID:zJOypbPn
ADSのフラグ見てるだけ

42 :デフォルトの名無しさん:2016/12/29(木) 11:00:11.70 ID:BD9K+jOv
ZONE

43 :デフォルトの名無しさん:2016/12/29(木) 15:16:02.15 ID:fFqM3XL7
Get-Content -Path hoge -Stream Zone.Identifier

44 :デフォルトの名無しさん:2016/12/31(土) 16:47:59.77 ID:i7Y8czLd
>>37
別に来ていいと思うけど...

45 :デフォルトの名無しさん:2016/12/31(土) 17:05:35.32 ID:RP5GqFRc
>>44
プログラム技術@2ch掲示板
この板はプログラムを作る人のための板です。

46 :デフォルトの名無しさん:2016/12/31(土) 17:07:39.35 ID:MAfU3vVP
マ板は?

47 :デフォルトの名無しさん:2016/12/31(土) 19:44:21.14 ID:RP5GqFRc
>>46
自分で調べろよ

48 :デフォルトの名無しさん:2017/01/21(土) 18:05:10.76 ID:W/zpHkC+
PS ISE以外に開発環境ってある?
テンプレート、シンタックスハイライト、入力補完、デバッガあたりが揃ってるやつ

49 :デフォルトの名無しさん:2017/01/24(火) 20:07:56.75 ID:wqAMcCVq
パスの扱いがよくわからん
System.IOを使うときはフルパスで渡すのが基本なのか?

50 :デフォルトの名無しさん:2017/01/24(火) 20:10:15.91 ID:fUCXytHT
はい

51 :デフォルトの名無しさん:2017/01/24(火) 20:49:09.93 ID:HHZbO6eg
普通にカレントディレクトリからの相対もできたと思うが...
なんか変な挙動あったっけ?

52 :デフォルトの名無しさん:2017/01/24(火) 20:53:59.82 ID:QirY2NrM
PowerShellってみなさんどうやって覚えてる?
必要になったものをググって都度対応してるけど、
なんかおすすめの学習方法ないですか?

53 :デフォルトの名無しさん:2017/01/24(火) 21:46:31.63 ID:ELq8qfcr
コマンドレットって語感が気色悪い

54 :デフォルトの名無しさん: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

55 :デフォルトの名無しさん:2017/01/24(火) 23:12:30.12 ID:vfnHFTTm
>>51
よくあるのはPowerShell自身とCLRでカレントディレクトリの管理が別々なせいで祖対パスが通らない、とかかな

56 :デフォルトの名無しさん:2017/01/25(水) 00:33:26.03 ID:09UbFk9J
VBSみたいにchmファイル的なオフラインヘルプって作れないの?

57 :デフォルトの名無しさん:2017/01/25(水) 06:47:08.95 ID:fntd/u0o
>>55
CLR のカレントディレクトリなんてあるの?
詳しく教えてほしい

58 :デフォルトの名無しさん:2017/01/25(水) 22:51:46.01 ID:t2eusvsp
>>57
そういう言葉で表現があってるかは分からないけど
スタティックメソッドに相対パスを渡すとそのメソッドはGetCurrentDirectoryメソッドで返ってくるパスをカレントディレクトリとして認識するよって話
ttp://stknohg.hatenablog.jp/entry/2015/04/30/232255

59 :デフォルトの名無しさん:2017/01/26(木) 06:59:08.30 ID:A4ZgtzRu
>>58
ほえー、これは知らんかったわ
ひとつ勉強になった
サンクス

60 :デフォルトの名無しさん:2017/02/01(水) 03:21:38.21 ID:0Q4jk/+z
Show-Commandって何に使うの?

61 :デフォルトの名無しさん:2017/02/01(水) 12:56:50.43 ID:kNSk5VZr
>>60
Get-Help の GUI 版みたいな感じじゃね
うちはまだ Version 2.0 使ってるからよくわからんが

62 :デフォルトの名無しさん: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

63 :デフォルトの名無しさん:2017/02/15(水) 21:19:49.53 ID:wfPvVi6q
会社の人が意地悪してRestrictedから変えてくれない(´;ω;`)

64 :デフォルトの名無しさん:2017/02/18(土) 03:43:07.08 ID:0VkJqvdT
C#でイナフ

65 :デフォルトの名無しさん:2017/02/27(月) 21:46:23.66 ID:62PirtiY
OSのLocalSystemアカウントでWinRMコマンドは動かないんですよね?

66 :デフォルトの名無しさん:2017/02/28(火) 04:23:14.83 ID:9miyuyTg
age

67 :デフォルトの名無しさん: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の場合は・・?

何かスマートな解決方法がありましたら教えてください。

68 :デフォルトの名無しさん:2017/03/16(木) 23:01:24.01 ID:VxkBx001
関数の終了結果って何?戻り値の事?

69 :67:2017/03/17(金) 02:14:53.86 ID:hRDUDw/w
>>68
ああ、変な書き方してますね。すいません。

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

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

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

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

関数やコマンドレットを別のテーブルにつっこんで、
連想配列呼び出しなどを行いたいので、
実行の成否判定を一つの方法に統一したいのです。

70 :デフォルトの名無しさん:2017/03/17(金) 09:55:31.77 ID:80x1YWgW
成功や失敗の定義が分からないけど、普通の関数呼び出しでも$?は更新されるでしょ

http://i.imgur.com/Xi3hIf9.jpg

71 :デフォルトの名無しさん:2017/03/17(金) 18:48:41.55 ID:dpI1G6OF
>>70
例外発生させずに $false に設定したいんでしょ

72 :デフォルトの名無しさん:2017/03/18(土) 14:54:47.02 ID:506uEQ55
$?は定数なのでユーザーが値を変更するのは無理

73 :デフォルトの名無しさん:2017/03/18(土) 17:24:00.94 ID:1jN6Nl4i
定数?

74 :72:2017/03/23(木) 21:20:42.65 ID:a5UvHPnh
定数じゃなくて読み取り専用だった
Set-Variable -Force で値を変更できるけど、
値を変更したっていう「処理に成功」したことを処理系が感知して上書きしちゃうから意味ない

http://i.imgur.com/oCyQDIB.jpg

75 :デフォルトの名無しさん: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

76 :デフォルトの名無しさん: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
}

77 :デフォルトの名無しさん:2017/04/07(金) 18:51:24.69 ID:qFjL5HdN
C#でOkというような
PowerShellとC#一緒にしてるような人ってなに?
使い分けもわからん人かな

78 :デフォルトの名無しさん:2017/04/08(土) 09:33:30.32 ID:MEx1rivP
なんでもExcelで作ろうとしちゃうおっさんと同じじゃなの

79 :デフォルトの名無しさん:2017/04/08(土) 09:40:11.22 ID:05fh3MNN
開発環境に恵まれてるんでしょ
ぼくはiseさんだけがたよりです

80 :デフォルトの名無しさん:2017/04/10(月) 22:06:32.07 ID:uKsodgl6
"$($a='abc')$a"
ってやったら
abc
が表示される
で、
"$($a=')abc(')$a"
ってやろうとしたら
文字列の終端記号 ' がありません
って怒られるんだけどなぜなんだろ?
とりあえず今は
$b = ')abc('
"$($a=$b)$a"
ってやってるんだけどなんかいい方法ある?

81 :デフォルトの名無しさん:2017/04/10(月) 22:41:24.99 ID:gkDuG+d4
>>80
"$($a=(')abc('))$a"

82 :デフォルトの名無しさん:2017/04/10(月) 22:49:14.71 ID:uKsodgl6
>>81
なるほど、これは気づかなかったわ
サンクス

83 :デフォルトの名無しさん:2017/04/27(木) 16:26:02.68 ID:DT2kwFTK
結局PSプロバイダとかPSドライブが良くわからないので
環境変数の見方やセットの仕方が未だに覚えられない

84 :デフォルトの名無しさん:2017/04/27(木) 18:45:36.36 ID:iGwy+Jnn
>>83
おバカ自慢いらない

85 :デフォルトの名無しさん:2017/05/08(月) 11:44:29.24 ID:6gSr/ulH
>>75
俺もそこに詰まってた。
Invoke-WebRequestが弾かれるから、Start-BitsTransfer使ったりしてかなりごちゃまぜな感じだけど、

Start-BitsTransfer使うと今度はHTTP ステータス 403: クライアントは要求されたサーバー オブジェクトに対する十分なアクセス権がありません

出てね。

86 :デフォルトの名無しさん:2017/05/08(月) 14:30:33.42 ID:nASEPquk
最近余計な追加ばかりしやがる。
・先頭までBSすると妙にでかいBeepが鳴る。
・curlへのエイリアス

87 :デフォルトの名無しさん:2017/05/08(月) 21:36:01.77 ID:iCbQx90b
>curlへのエイリアス

これって最近じゃないよね?

88 :デフォルトの名無しさん:2017/05/14(日) 10:29:23.44 ID:cfnkRKwu
>先頭までBSすると妙にでかいBeepが鳴る

Set-PSReadlineOption -BellStyle None

>curlへのエイリアス

Remove-Item alias:\curl

89 :デフォルトの名無しさん:2017/05/21(日) 23:32:44.95 ID:0rB2bxGq
まだpowerGUIってどこかでダウンロードできませんか?
ps1をexe化したいんですが

90 :デフォルトの名無しさん:2017/05/22(月) 16:03:54.37 ID:ZYotF7X4
https://chocolatey.org/packages/PowerGUI

91 :デフォルトの名無しさん:2017/05/22(月) 20:48:22.27 ID:0E7f0azY
>>90
ありがとうございますたすかりました!

92 :デフォルトの名無しさん:2017/06/02(金) 23:41:38.59 ID:2Map0wHE
質問です。

コマンドプロンプト経由でPowershellを使って、
既存のxlsxファイルの複数シート(もしくは全シート)を選択した状態にしてセーブ/終了したいのですが、
複数シート(もしくは全シート)を選択した状態にするコードが分かりません。
方法があれば、ご教示いただけるとありがたいです。

93 :デフォルトの名無しさん:2017/06/03(土) 03:19:51.11 ID:HOlIYUlS
>>92
全選択ならこれでできるよ
$book.Sheets.Select()

指定したものを選択だとなんかださい書き方になった

$sheet_number = 1
$selected_count = 0
foreach($sheet in $book.Sheets) {

if((1,2,4).Contains($sheet_number)) { # 1、2、4番目を選択
if($selected_count -eq 0) {
$sheet.Select($true)
$selected_count++
}
else {
$sheet.Select($false)
}
}
$sheet_number++
}

94 :デフォルトの名無しさん:2017/06/03(土) 07:02:30.23 ID:TQ/e2k0C
指定シート選択の方法で動きました。
ありがとうございました。

23 KB
新着レスの表示

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50
名前: E-mail (省略可) :


read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)