X



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

■ このスレッドは過去ログ倉庫に格納されています
2016/11/26(土) 06:30:02.67ID:pZYy6q7Y
前スレ
【最強CUI】PowerShell -Part 1
http://echo.2ch.net/test/read.cgi/tech/1378978504/
2016/12/31(土) 17:05:35.32ID:RP5GqFRc
>>44
プログラム技術@2ch掲示板
この板はプログラムを作る人のための板です。
2016/12/31(土) 17:07:39.35ID:MAfU3vVP
マ板は?
2016/12/31(土) 19:44:21.14ID:RP5GqFRc
>>46
自分で調べろよ
2017/01/21(土) 18:05:10.76ID:W/zpHkC+
PS ISE以外に開発環境ってある?
テンプレート、シンタックスハイライト、入力補完、デバッガあたりが揃ってるやつ
2017/01/24(火) 20:07:56.75ID:wqAMcCVq
パスの扱いがよくわからん
System.IOを使うときはフルパスで渡すのが基本なのか?
50デフォルトの名無しさん
垢版 |
2017/01/24(火) 20:10:15.91ID:fUCXytHT
はい
2017/01/24(火) 20:49:09.93ID:HHZbO6eg
普通にカレントディレクトリからの相対もできたと思うが...
なんか変な挙動あったっけ?
2017/01/24(火) 20:53:59.82ID:QirY2NrM
PowerShellってみなさんどうやって覚えてる?
必要になったものをググって都度対応してるけど、
なんかおすすめの学習方法ないですか?
2017/01/24(火) 21:46:31.63ID:ELq8qfcr
コマンドレットって語感が気色悪い
2017/01/24(火) 22:27:48.01ID:LErlSC41
>>52
基本それしかないかな
後はabout_系のヘルプを片っ端から読んでみるとか
https://msdn.microsoft.com/ja-jp/powershell/scripting/core-powershell/core-modules/windows-powershell-core-about-topics
2017/01/24(火) 23:12:30.12ID:vfnHFTTm
>>51
よくあるのはPowerShell自身とCLRでカレントディレクトリの管理が別々なせいで祖対パスが通らない、とかかな
2017/01/25(水) 00:33:26.03ID:09UbFk9J
VBSみたいにchmファイル的なオフラインヘルプって作れないの?
2017/01/25(水) 06:47:08.95ID:fntd/u0o
>>55
CLR のカレントディレクトリなんてあるの?
詳しく教えてほしい
2017/01/25(水) 22:51:46.01ID:t2eusvsp
>>57
そういう言葉で表現があってるかは分からないけど
スタティックメソッドに相対パスを渡すとそのメソッドはGetCurrentDirectoryメソッドで返ってくるパスをカレントディレクトリとして認識するよって話
ttp://stknohg.hatenablog.jp/entry/2015/04/30/232255
2017/01/26(木) 06:59:08.30ID:A4ZgtzRu
>>58
ほえー、これは知らんかったわ
ひとつ勉強になった
サンクス
2017/02/01(水) 03:21:38.21ID:0Q4jk/+z
Show-Commandって何に使うの?
2017/02/01(水) 12:56:50.43ID:kNSk5VZr
>>60
Get-Help の GUI 版みたいな感じじゃね
うちはまだ Version 2.0 使ってるからよくわからんが
2017/02/03(金) 21:42:08.19ID://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
2017/02/15(水) 21:19:49.53ID:wfPvVi6q
会社の人が意地悪してRestrictedから変えてくれない(´;ω;`)
2017/02/18(土) 03:43:07.08ID:0VkJqvdT
C#でイナフ
65デフォルトの名無しさん
垢版 |
2017/02/27(月) 21:46:23.66ID:62PirtiY
OSのLocalSystemアカウントでWinRMコマンドは動かないんですよね?
66デフォルトの名無しさん
垢版 |
2017/02/28(火) 04:23:14.83ID:9miyuyTg
age
2017/03/15(水) 03:25:58.68ID:mD7g4mUz
変数 $? について質問です。

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

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

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

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

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

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

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

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

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

http://i.imgur.com/oCyQDIB.jpg
2017/03/28(火) 01:25:27.68ID: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
2017/03/28(火) 13:29:30.59ID: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.69ID:qFjL5HdN
C#でOkというような
PowerShellとC#一緒にしてるような人ってなに?
使い分けもわからん人かな
2017/04/08(土) 09:33:30.32ID:MEx1rivP
なんでもExcelで作ろうとしちゃうおっさんと同じじゃなの
2017/04/08(土) 09:40:11.22ID:05fh3MNN
開発環境に恵まれてるんでしょ
ぼくはiseさんだけがたよりです
2017/04/10(月) 22:06:32.07ID:uKsodgl6
"$($a='abc')$a"
ってやったら
abc
が表示される
で、
"$($a=')abc(')$a"
ってやろうとしたら
文字列の終端記号 ' がありません
って怒られるんだけどなぜなんだろ?
とりあえず今は
$b = ')abc('
"$($a=$b)$a"
ってやってるんだけどなんかいい方法ある?
2017/04/10(月) 22:41:24.99ID:gkDuG+d4
>>80
"$($a=(')abc('))$a"
2017/04/10(月) 22:49:14.71ID:uKsodgl6
>>81
なるほど、これは気づかなかったわ
サンクス
2017/04/27(木) 16:26:02.68ID:DT2kwFTK
結局PSプロバイダとかPSドライブが良くわからないので
環境変数の見方やセットの仕方が未だに覚えられない
2017/04/27(木) 18:45:36.36ID:iGwy+Jnn
>>83
おバカ自慢いらない
85デフォルトの名無しさん
垢版 |
2017/05/08(月) 11:44:29.24ID:6gSr/ulH
>>75
俺もそこに詰まってた。
Invoke-WebRequestが弾かれるから、Start-BitsTransfer使ったりしてかなりごちゃまぜな感じだけど、

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

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

これって最近じゃないよね?
2017/05/14(日) 10:29:23.44ID:cfnkRKwu
>先頭までBSすると妙にでかいBeepが鳴る

Set-PSReadlineOption -BellStyle None

>curlへのエイリアス

Remove-Item alias:\curl
89デフォルトの名無しさん
垢版 |
2017/05/21(日) 23:32:44.95ID:0rB2bxGq
まだpowerGUIってどこかでダウンロードできませんか?
ps1をexe化したいんですが
2017/05/22(月) 16:03:54.37ID:ZYotF7X4
https://chocolatey.org/packages/PowerGUI
91デフォルトの名無しさん
垢版 |
2017/05/22(月) 20:48:22.27ID:0E7f0azY
>>90
ありがとうございますたすかりました!
2017/06/02(金) 23:41:38.59ID:2Map0wHE
質問です。

コマンドプロンプト経由でPowershellを使って、
既存のxlsxファイルの複数シート(もしくは全シート)を選択した状態にしてセーブ/終了したいのですが、
複数シート(もしくは全シート)を選択した状態にするコードが分かりません。
方法があれば、ご教示いただけるとありがたいです。
2017/06/03(土) 03:19:51.11ID: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++
}
2017/06/03(土) 07:02:30.23ID:TQ/e2k0C
指定シート選択の方法で動きました。
ありがとうございました。
2017/06/17(土) 22:39:02.28ID:pgT8IBgc
Excelのシートの背景色をまとめて変えたいです。
セルで範囲を指定する方法は分かるのですが、Excelだと左上のボタンを押すと全指定になるように全てのセルを対象にして背景色を変えたいです。
Powershellでそういう方法ってあるのでしょうか?
2017/06/18(日) 00:00:52.56ID:2/zUBuGb
$book.ActiveSheet.Cells.Interior.ColorIndex = 20
97デフォルトの名無しさん
垢版 |
2017/06/22(木) 21:05:25.54ID:T+mmOPfg
タイトルバー右クリック→プロパティ→画面の色
の16色カラーパレット各色の値を変更するコマンドってありますか?
2017/06/22(木) 21:53:07.57ID:TEp+wKkH
レジストリ編集くらいしか思いつかない

https://technet.microsoft.com/en-us/library/cc957409.aspx
https://technet.microsoft.com/en-us/library/cc957408.aspx
9997
垢版 |
2017/06/22(木) 22:55:13.89ID:T+mmOPfg
>>98
ありがとう。でも設定は永続ではなく現在のプロセスだけ有効であれば良いです。
2017/06/22(木) 23:13:48.36ID:v7Y2NKOi
>>96
遅ればせながら。
今日試して、うまくいきました。感謝。
2017/06/24(土) 10:14:00.84ID:jPQQGq+C
PowerShellだけでローカルhttpサーバーって建てれる?
PythonとかNode.jsみたいにお手軽にローカルhttpサーバーを起動したいんだけど余計な開発者用wikiをローカルで動かしたいんだけど(コンテンツはリポジトリで共有)
余計なものをインストールするなって怒られるからPowerShellでやりたい
2017/06/24(土) 10:59:32.01ID:ikmrOfgV
>>101
PowerShellでもできると思うが普通にC#でいいんじゃね?
2017/06/24(土) 11:24:00.67ID:jPQQGq+C
>>102
Visual Studioが無い環境なのでc#はちょっとめんどくさい
JDKとEclipseがインストールされてるWindows 7環境
ツールのインストールは殆ど却下されるけどゼロから自作するのは問題ない
2017/06/24(土) 11:32:28.31ID:5sdiaxaL
何も入れなくてもC#の機能呼び出せるからそれでHttpListener呼べば
2017/06/24(土) 12:10:39.19ID:ikmrOfgV
>>103
> Visual Studioが無い環境なのでc#はちょっとめんどくさい
メモ帳 + csc.exe でできるだろ
ゼロからの自作ならなにもインストールする必要はないよ
2017/06/24(土) 13:12:03.71ID:M1pK/2YY
PowerShellでWebServerってこういうの?
http://community.idera.com/powershell/powertips/b/tips/posts/creating-powershell-web-server
2017/06/24(土) 13:17:14.14ID:jPQQGq+C
>>106
こういうの待ってた
2017/06/24(土) 14:25:40.31ID:cSElHmPp
Windows PowerShell を使用する場合とコードを記述する場合を判断する
https://msdn.microsoft.com/ja-jp/library/office/hh537936(v=office.14).aspx

明らかに Windows PowerShell が現実的な選択肢とならないシナリオもあります。
たとえば、Windows PowerShell を使用してカスタム アプリケーション ページ、
Web パーツ、または Web サービスを作成することは、通常、考えられません。
同様に、デザイン性に優れたユーザー インターフェイスを作成する場合に
Windows PowerShell はおそらく役に立ちません。

全体がコードであるソリューションを必要とする 1 つの具体的なシナリオは、
Windows PowerShell でできることを拡張する方法です。
SharePoint チームが Microsoft.SharePoint.PowerShell モジュールを使用して行ったように、
使用する独自のコマンドレットを作成できます。
2017/06/24(土) 14:32:25.36ID:jPQQGq+C
>>108
残念ですが今はそれが現実的な選択肢なんです
何でもかんでもインストールできる環境とは違います
2017/06/24(土) 14:37:33.17ID:Ttx92mnQ
なんでこんなに偉そうなんだこいつは
2017/06/24(土) 17:46:31.14ID:jJP9Xrk7
放置でいいだろ
インストールしちゃダメって言うならC#でもいいって書いてあるのにガン無視だし
2017/06/24(土) 18:01:10.30ID:jPQQGq+C
開発環境揃えられないのにC#のコンパイラだけじゃ現実的じゃないでしょ
113デフォルトの名無しさん
垢版 |
2017/06/24(土) 18:26:10.76ID:AiSsJYjg
>>104
C#じゃなくて.NET Frameworkだろ。
2017/06/24(土) 18:43:37.74ID:ikmrOfgV
>>112
PowerShell でサーバー作るよりは現実的だよ w
2017/06/24(土) 22:08:29.97ID:jPQQGq+C
>>114
アホか
notepadやサクラエディタでプログラミングとか正気じゃないわ
116デフォルトの名無しさん
垢版 |
2017/06/24(土) 22:29:15.94ID:AiSsJYjg
>>115
初心者?
2017/06/24(土) 22:38:29.00ID:5sdiaxaL
>>113
そだな^^;
2017/06/24(土) 22:43:41.40ID:ikmrOfgV
>>115 はPowerShell のソースを何で書くつもりなんだろう w
2017/06/24(土) 22:52:36.56ID:jPQQGq+C
単純なものだよ
psでhttpリクエストを待ち受ける
シンプルなルーティングルールでコンテンツに振り分ける
コンテンツをテンプレートに従い変換してレスポンスを返す
これで十分
他の言語なら10数行で書けるしpsでも大差ないだろ
このアイデアに比べたらNotepadでc#なんてバカバカしいよ
120デフォルトの名無しさん
垢版 |
2017/06/24(土) 22:54:17.14ID:AiSsJYjg
>>119
メモ帳を使っているやつなんかいるかよw
学生?
2017/06/24(土) 22:57:40.88ID:jPQQGq+C
>>120
世の中は君が思うようなゆとり環境ばかりではないということ
厳しい制限の中で何ができるか模索することができないと君が卒業後キツいぞ
122デフォルトの名無しさん
垢版 |
2017/06/24(土) 23:00:55.63ID:AiSsJYjg
>>121
サーバー上でメモ帳しかないならわかるが、わざわざサーバー上で書く必要もない。
2017/06/24(土) 23:04:32.95ID:jPQQGq+C
>>122
発想が貧弱
2017/06/24(土) 23:05:18.10ID:M1pK/2YY
え、そりゃもちろんISEじゃないの?
125デフォルトの名無しさん
垢版 |
2017/06/24(土) 23:11:41.81ID:AiSsJYjg
>>123
あなたはサクラエディタが使える環境を想定しているのに、わざわざメモ帳でやろうとするところが変。
126デフォルトの名無しさん
垢版 |
2017/06/24(土) 23:15:04.67ID:AiSsJYjg
>>123
統合開発環境がどこにでもあると思っているパターンだろ?

開発機と本番機が同じだったり、ネットワークでつながっていたりする環境しか知らない。
2017/06/24(土) 23:32:04.17ID:BBTzLwWV
YouTubeにある、T Umezawa のプログラミング動画では、
秀丸でJava、メモ帳でC#、などで作っている

土方を極めると、補完よりも、キータイプの方が速いw
128デフォルトの名無しさん
垢版 |
2017/06/25(日) 06:09:07.77ID:wnVI7vr5
>>127
初心者はコード補完をありがたがるんだよな。あんなの覚えていたり、コピーで作るからなくてもいい。間違って選択する可能性もある。そんなにあわてて作ることなんてないもん。
129デフォルトの名無しさん
垢版 |
2017/06/25(日) 08:27:22.56ID:q2vWG5qk
Programmer's Notepad
http://www.pnotepad.org/
C#入門
http://dotinstall.com/lessons/basic_csharp
2017/06/25(日) 08:30:32.82ID:ffAutXm5
アスペしかいねえな
2017/06/25(日) 09:23:24.05ID:fMxhTN4O
>>119
> 他の言語なら10数行で書けるしpsでも大差ないだろ
書いてから言えば?
132デフォルトの名無しさん
垢版 |
2017/06/25(日) 09:32:52.64ID:wnVI7vr5
生産性向上のために統合開発環境が必要と言うやつほど、仕事が遅いという傾向がある。ようは時間をかけるところを間違っている。
2017/06/25(日) 09:50:09.89ID:ffAutXm5
メモ帳やサクラエディタでc#やるのはキツいって話から一気に統合開発環境まで飛躍するんだ
2017/06/25(日) 10:30:07.25ID:WQxeemkA
最近はVisual Studio Codeで書いてる
135デフォルトの名無しさん
垢版 |
2017/06/25(日) 11:06:37.53ID:wnVI7vr5
>>133
俺はきついなどと言ってないが?
2017/06/25(日) 12:55:56.29ID:lpQuvt0E
珍しく伸びてると見てみればバカが大暴れしてただけだったw
2017/06/25(日) 13:12:09.69ID:fMxhTN4O
>>135
お前が誰かは知らんけど>>115には気が狂うほどキツイらしいぞ
2017/06/25(日) 13:20:58.23ID:WQxeemkA
>>132
Designer.csやResourceを全部手書きしたりしてんの?
139デフォルトの名無しさん
垢版 |
2017/06/25(日) 15:20:14.95ID:wnVI7vr5
>>138
全否定しているわけではない。そもそも毎回いちから作らない。
2017/06/25(日) 16:46:11.14ID:ffAutXm5
PowerShellユーザーのレベルってこんなものか
141デフォルトの名無しさん
垢版 |
2017/06/25(日) 17:16:04.58ID:wnVI7vr5
>>140
コード書きに時間をさく、重要視しすぎるのは経験の少ないひとの特徴。
142デフォルトの名無しさん
垢版 |
2017/06/25(日) 17:21:05.34ID:cBKwT0iz
>>140
ちょっとこっちのレベル見て来て

【.cmd】 バッチファイルスクリプト %12 【.bat】
http://mevius.2ch.net/test/read.cgi/tech/1489207631/
2017/06/25(日) 17:30:49.30ID:fMxhTN4O
>>140
2chで判断するバカ乙
2017/06/25(日) 17:42:26.66ID:ffAutXm5
ん〜この反応の良さwww
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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