[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 12/12 00:59 / Filesize : 319 KB / Number-of Response : 1011
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

PowerShell -Part 4



1 名前:デフォルトの名無しさん mailto:sage [2020/01/01(水) 16:08:31.66 ID:4oQ1Kxot.net]
前スレ
PowerShell -Part 3
https://mevius.5ch.net/test/read.cgi/tech/1539074808/

次スレは>>980が立ててね!!

52 名前:デフォルトの名無しさん mailto:sage [2020/01/05(日) 08:35:56.46 ID:8wcedpaS.net]
その「おバカ」とやらに使ってもらおうって気がないから
いつまでたってもLinuxデスクトップは普及しないんだよ

53 名前:デフォルトの名無しさん mailto:sage [2020/01/05(日) 09:21:09.84 ID:+ZtpY4Sw.net]
Linuxデスクトップ「おバカには使ってほしくありません」

54 名前:デフォルトの名無しさん mailto:sage [2020/01/05(日) 14:43:55.52 ID:ZEXd5sZ7.net]
それはシェアをあきらめるって事だと分かってて言うならそれでもいいんだけどね

55 名前:デフォルトの名無しさん mailto:sage [2020/01/05(日) 18:40:06.22 ID:B53H42aR.net]
スレチ続けてんじゃねえぞ、糞ども

56 名前:デフォルトの名無しさん mailto:sage [2020/01/06(月) 21:20:05.02 ID:ID1ddVMh.net]
>>48
存分に威張って良いほどの馬鹿

57 名前:デフォルトの名無しさん mailto:sage [2020/01/06(月) 21:40:32.90 ID:ID1ddVMh.net]
>>50
> いろいろな *[!c]sh 実装のキライなところ
UNIX系シェルは古くからあるから色々意見があっていいけど、嫌いなとこ言うだけってのは馬鹿。
> まだBashで消耗してるの?
読んだけど2年前のスライド&スライド発表者が馬鹿過ぎる。
現在のTwitterアカウントを見たけど「進歩がない…」の一言。
makeのアルゴリズムを紹介するよ!的なことやってて…大丈夫かこいつ…いやはやく(周りが)何とかしないと駄目だろ…。
ていうか >>48 の記事の筆者か…。
生きてて楽しいのかこいつ…。

58 名前:デフォルトの名無しさん mailto:sage [2020/01/07(火) 08:15:41.91 ID:5fudPZU/.net]
>>57
> 読んだけど2年前のスライド&スライド発表者が馬鹿過ぎる。
> 現在のTwitterアカウントを見たけど「進歩がない…」の一言。

スレチな話題を延々と繰り返すバカよりは256倍マシだと思うよ

59 名前:デフォルトの名無しさん mailto:sage [2020/01/07(火) 08:38:58.32 ID:Ks+JfxYO.net]
>>57
> 嫌いなとこ言うだけってのは馬鹿
> 生きてて楽しいのかこいつ…

ここでPowerShell叩きだけやってるやつそのものじゃん

60 名前:デフォルトの名無しさん [2020/01/10(金) 01:58:55.42 ID:orNiqaoM.net]
ところでWSLを入れて
Windows10の制御はどういう風にやるんだろ?



61 名前:デフォルトの名無しさん [2020/01/10(金) 02:00:24.71 ID:orNiqaoM.net]
そもそもUNIXからの流れって
スクリプトがないと何もできなかった
というだけだよね。

62 名前:デフォルトの名無しさん mailto:sage [2020/01/10(金) 09:21:51.82 ID:cqQYZnld.net]
dosはスクリプトなしで運用できたん?

63 名前:デフォルトの名無しさん mailto:sage [2020/01/10(金) 12:28:21.35 ID:vcBIqSBB.net]
>>62
たいして設定項目ないからcomfig.sysとかを直接編集してただろ
ちなみに同時期のunixも似たようなもんだった
スクリプトで設定するようになったのはだいぶ後だったように思う

64 名前:デフォルトの名無しさん mailto:sage [2020/01/10(金) 14:42:27.33 ID:IxDycp4w.net]
>>63
> だいぶ後だったように思う

80年代からマイコンを使ってた世代からすれば、確かに「だいぶ後」ですねw

65 名前:デフォルトの名無しさん mailto:sage [2020/01/10(金) 18:17:26.14 ID:PkgwRlbI.net]
Windows10, WSL, Ubuntu(Linux)側から、

Wondows側のC ドライブへのアクセスは、
/mnt/c/Users/ユーザー名/Documents/〜

漏れは、いつも、WSL側から、Windows側をgrep してる。
なぜなら、Windowsでは、CP932 と、BOM 無しUTF-8 を区別できないから

BOMが付いていれば区別できるけど、
普通、ウェブ系開発ではバグるので、BOMを付けない

66 名前:デフォルトの名無しさん mailto:sage [2020/01/10(金) 18:58:35.89 ID:gMOJaPF1.net]
>>65
死ねクズ

67 名前:デフォルトの名無しさん [2020/01/12(日) 03:08:17.75 ID:gh55rPFY.net]
Lnuxユーザは大変やね
Winodowsユーザは、そんな面倒なことはしないわな
それなりのツールつかうから

68 名前:デフォルトの名無しさん [2020/01/12(日) 03:10:21.78 ID:gh55rPFY.net]
要はLinuxなどの場合は、近頃はいいだろうが
そういうことのためのツールが用意されていないんで
スクリプトに頼るしかなかったということなんだろうな

69 名前:デフォルトの名無しさん mailto:sage [2020/01/12(日) 04:03:14.54 ID:Wu3j+6b0.net]


70 名前:デフォルトの名無しさん [2020/01/12(日) 04:22:58 ID:Uj5X0q1W.net]
設定ファイルがスクリプトということに何も疑問を持たなかったんだろかと思うことはある。



71 名前:デフォルトの名無しさん mailto:sage [2020/01/12(日) 05:11:45 ID:Hfpc94Xd.net]
知らんがな
linux板でやれよ

Linux
mao.5ch.net/linux/

72 名前:デフォルトの名無しさん [2020/01/12(日) 09:20:24.49 ID:Uj5X0q1W.net]
Linux板は荒らししかいないし、末期のウェブ板やPHP板みたいになってる。
まともな住人はここに移住してきても良いよね?
ウェブ板やPHP板も移住してるんだし。

73 名前:デフォルトの名無しさん [2020/01/12(日) 09:21:14.45 ID:Uj5X0q1W.net]
Linux板は志賀何とかさんのことを語る板になってしまった。

74 名前:デフォルトの名無しさん mailto:sage [2020/01/12(日) 10:59:33.84 ID:FbSdnFnB.net]
まさかとは思うがツールというのはGUIのことだろうか
PowerShellスレでCUIよりもGUIが無条件に優れているという話をしているのだろうか

スレチを自己正当化する理由が、然るべきスレが機能不全を起こしてるから行きたくないと?
しつこいスレチがここに機能不全を招くとは思わないのだろうか

前スレに続いての「WSLでよくね」なんて明らかに反応を楽しむ愉快犯なのに、まんまとLinuxのほうが残念だもん!って
いいかげん落ち着いてくれよ

75 名前:デフォルトの名無しさん mailto:sage [2020/01/12(日) 18:25:07.68 ID:6gxIPrAU.net]
>>72
お前はスレタイを100回読み直せ

76 名前:デフォルトの名無しさん [2020/01/12(日) 19:02:16.18 ID:Uj5X0q1W.net]
bash最高って書いてあるけど。

77 名前:デフォルトの名無しさん [2020/01/12(日) 21:27:38.66 ID:gh55rPFY.net]
>>74
>まさかとは思うがツールというのはGUIのことだろうか

なわけないよ。
要は今は良くなってきているが
シェル言語なないと処理できないようなのがUnix系の世界
だったということ
ほかにろくなものないから

78 名前:デフォルトの名無しさん [2020/01/12(日) 22:41:27.46 ID:gh55rPFY.net]
ま、そりゃいいか。
PowerShellを語る板だから
ごめん。
PowerShellの話に戻します。

79 名前:デフォルトの名無しさん mailto:sage [2020/01/13(月) 13:13:43.40 ID:GhUCXbF0.net]
意味不明。結局、CUIでない、GUIでもない"ツール"とはいったい何だったのか

80 名前:デフォルトの名無しさん mailto:sage [2020/01/16(木) 08:46:49.48 ID:wD5IBL5x.net]
テキストユーザインタフェース
https://ja.wikipedia.org/wiki/%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88%E3%83%A6%E3%83%BC%E3%82%B6%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%95%E3%82%A7%E3%83%BC%E3%82%B9



81 名前:デフォルトの名無しさん [2020/01/28(火) 00:59:10 ID:b7mfcqCA.net]
刻々と変化する変数をフォームに表示させたいんだけど
当然この例だと実行した時点での変数しか表示されません。
フォームのラベルの変数を動的に表示し続ける方法を教えてください(この例だと時計のように動かしたい)

$time = Get-Date
Add-Type -AssemblyName System.Windows.Forms
$form = New-Object System.Windows.Forms.Form
$label = New-Object System.Windows.Forms.Label
$label.Text = $time
$form.Controls.Add($label)
$form.ShowDialog()

82 名前:デフォルトの名無しさん mailto:sage [2020/01/28(火) 02:09:43 ID:Vj4Y99PX.net]
タイマーイベントとかあるじゃろ
C#タイマーあたりでぐぐれ

83 名前:デフォルトの名無しさん mailto:sage [2020/01/28(火) 05:27:11.17 ID:gua2EZr0.net]
正確な時間じゃなくても良いなら、Ruby なら、sleep で簡単にできる。
ただし、OS がバッファリングしてると、最後にまとめて出力されてしまう!

STDOUT.sync = true # バッファリングしない

3.times do
puts Time.now
sleep 3
end

84 名前:デフォルトの名無しさん mailto:sage [2020/01/28(火) 08:59:06 ID:CfcUNbbY.net]
フォーム要素はどこに行った

85 名前:デフォルトの名無しさん mailto:sage [2020/01/28(火) 19:45:19 ID:xyAuIeAM.net]
>>81
別スレッドで非同期にフォームを起動すればいい

using namespace System.Windows.Forms
using assembly System.Windows.Forms

$label = [Label]@{ Dock = "Fill"; Font = "Meiryo,20" }
$form = [Form]@{ Size = "350,100" }
$form.Controls.Add($label)

$runspace = [RunspaceFactory]::CreateRunspace()
$runspace.Open()
$pipeline = $runspace.CreatePipeline()
$pipeline.Commands.AddScript({ param ($form) $form.ShowDialog() })
$pipeline.Commands[0].Parameters.Add("form", $form)
$pipeline.InvokeAsync()

foreach ($p in 1..10) {
  if ($Runspace.RunspaceAvailability -ne "Busy") { break }
  $time = [datetime]::Now
  $label.Text = $time
  sleep 1
}

if ($Runspace.RunspaceAvailability -eq "Busy") { $form.Close() }
$runspace.Dispose()

86 名前:デフォルトの名無しさん mailto:sage [2020/01/30(木) 19:49:29 ID:dJd/g4Kb.net]
>>85
すげー一気に解決したわ
Runspaceとか知らんよありがと

87 名前:デフォルトの名無しさん mailto:sage [2020/02/01(土) 09:36:54.77 ID:tNoLSDZ1.net]
v6.2.4
https://github.com/PowerShell/PowerShell/releases/tag/v6.2.4

88 名前:デフォルトの名無しさん mailto:sage [2020/02/01(土) 10:30:55.09 ID:escHc8OK.net]
PowerShel で凝ったことやろうとすると、どうしても C# の知識が必要になるよな。
おかげで、C# を勉強する良いきっかけになったわ。スキルの幅が広がるのは嬉しい。

89 名前:デフォルトの名無しさん mailto:sage [2020/02/01(土) 11:42:52 ID:S54SgdVf.net]
C#スキル?
.net frameworkの知識じゃなくて?

90 名前:デフォルトの名無しさん mailto:sage [2020/02/01(土) 21:57:28 ID:KsqMKxaU.net]
C#全く使えん奴は凝ったことすら思いつかないのでは



91 名前:デフォルトの名無しさん mailto:sage [2020/02/01(土) 22:22:36.87 ID:QN2fVxGF.net]
$label = [Label]@{ Dock = "Fill"; Font = "Meiryo,20" }
という式を初めて見て驚いてるんだけど、これについてのドキュメントってどこかにありますか?

92 名前:デフォルトの名無しさん mailto:sage [2020/02/01(土) 23:27:18 ID:1A0Wf54C.net]
>>91
PowerShell 3からの機能
クラスが引数を取らないコンストラクタを持っていて、プロパティがパブリックでset可能なら使える

https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_hash_tables?view=powershell-7#creating-objects-from-hash-tables

93 名前:デフォルトの名無しさん mailto:sage [2020/02/02(日) 11:46:03 ID:9GpNdTap.net]
>>92
ありがとう
だいぶ楽になった

こういうの知ってる人ってMSDNのヘルプに全部目を通してるの?

94 名前:デフォルトの名無しさん mailto:sage [2020/02/04(火) 17:22:37 ID:Rq+qX9o+.net]
オブジェクト志向ライクでいいんだけど、
powershellへbatやVBSから置き換えようとすると機能によってはバージョンチェックをしないといけないのがもどかしい
.NETにしろそうなんだけどね

95 名前:デフォルトの名無しさん mailto:sage [2020/02/04(火) 20:42:27.29 ID:uL6VAIkG.net]
ご教示ください。
商品の価格を定期的にWebサイトから取得したいのですが、Invoke-WebRequestで取得したHtmlWebResponseObjectから要素の内の文字列を取り出そうとすると「Windows セキュリティの警告」のポップアップが表示されてしまいます。
ポップアップを出さずに要素の内の文字列を取得するにはどうすればよいでしょうか?

$response = Invoke-WebRequest -uri "https://www.yodobashi.com/product/100000001002955686/"
$price = $response.ParsedHtml.getElementById("js_scl_unitPrice").innerText

これを実行すると「この Web サイトから個人用の情報を提供できるように、Cookie と呼ばれる小さなファイルをこのコンピューターに配置できるようにしますか?」と表示されます。

96 名前:デフォルトの名無しさん mailto:sage [2020/02/04(火) 21:00:56.36 ID:sy7Lzsaq.net]
なんでPSで?・・・

97 名前:デフォルトの名無しさん mailto:sage [2020/02/04(火) 22:40:04.72 ID:tW1M7Be/.net]
cookie powershellでぐぐればやり方は出てくる
javascriptとか出てきたら素直にseleniumを使う
seleniumをpowershellで使う方法もある

98 名前:デフォルトの名無しさん mailto:sage [2020/02/07(金) 03:46:32 ID:eL08TT0Y.net]
DateTimePickerで翌日の日付をデフォルト選択する方法ありませんか?

99 名前:デフォルトの名無しさん mailto:sage [2020/02/07(金) 06:17:27 ID:Ec63bSXx.net]
[DateTimePicker]@{ Value = [datetime]::Now.AddDays(1) }

100 名前:デフォルトの名無しさん mailto:sage [2020/02/07(金) 17:42:43 ID:eL08TT0Y.net]
>>99
できましたサンクス!



101 名前:デフォルトの名無しさん mailto:sage [2020/02/09(日) 17:36:01 ID:7dfvQcUC.net]
同スクリプト重複実行抑止する場合
皆さんどうしてますか?
pid書き出し?Mutex?

102 名前:デフォルトの名無しさん mailto:sage [2020/02/09(日) 19:33:00 ID:9UBXd1bi.net]
mutex

103 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 12:17:46.17 ID:f4vRyC3Z.net]
コールバック関数ってpowershellで可能ですか?

104 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 12:24:25 ID:8uBZGbTk.net]
可能ですよ

105 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 14:42:20.49 ID:OVbm/XKG.net]
どうやるのですか?

106 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 15:13:30.85 ID:8uBZGbTk.net]
スクリプトブロックを渡すか、関数なら
$function:関数名
で渡す
実行は & でやるのが基本で他にもいろいろ方法がある

107 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 18:46:32.72 ID:D64OFTKi.net]
スクリプトからフォームをshowメソッドで表示すると固まってしまい、
showDialogメソッドで表示すると操作できるようになります。
例えばモーダルフォームを表示した親フォームが固まるのは分かるのですが、
呼び出したモードレスフォームが固まってしまうのは何故なのでしょうか。

108 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 21:56:58.62 ID:RZngPC6l.net]
103です。
実はコールバック関数が何かもよく理解してませんが、
以下URL先の
$sslStream = New-Object System.Net.Security.SslStream($stream,$false,({$True} -as [Net.Security.RemoteCertificateValidationCallback]))
の第三引数がコールバック関数でしょうか?
このやり方を理解したくて。
https://stackoverflow.com/questions/19252963/powershell-ssl-socket-client

109 名前:デフォルトの名無しさん mailto:sage [2020/02/11(火) 13:53:02.82 ID:iYccZVyV.net]
コールバックはこの説明が分かりやすい
https://wa3.i-3-i.info/word12295.html

Powershellだと「スクリプトブロック」というコードを { } で括った物がコールバック関数として使える
引数として直接書いてもいいし、一度変数に代入して変数を引数に渡してもいい
{$True} という部分がそれ

でも今回は「スクリプトブロック」じゃなくて「RemoteCertificateValidationCallback」でと指定されている
三つ目のコンストラクタの引数の型に注目
https://docs.microsoft.com/ja-jp/dotnet/api/system.net.security.sslstream?view=netframework-4.8#constructors

なので -as 演算子で型変換をしてる

110 名前:デフォルトの名無しさん mailto:sage [2020/02/11(火) 14:24:03.53 ID:AAFADizG.net]
とりあえず、引数がご飯で戻り値がウンコと言う事だけはわかった。



111 名前:デフォルトの名無しさん mailto:sage [2020/02/11(火) 15:25:48 ID:LmagV5MS.net]
>>107
win32APIでウィンドウ作ったりしたことなかったら分からないかもしれないけどざっくり言うと
ウィンドウがOSからのメッセージ(マウスがクリックされたとか、ボタンが押されたとか)
を処理するにはOSからのメッセージをウィンドウに知らせてやる必要がある(メッセージループ)
ShowDialogはその辺をよしなにやってくれる

112 名前:デフォルトの名無しさん [2020/02/15(土) 04:04:02.58 ID:Nij30Obe.net]
>>111
ありがとうございます。

モーダルがどうのこうのというよりも、
Showコマンドだとクリックなどの命令を受け付けないという感じでしょうか

113 名前:デフォルトの名無しさん mailto:sage [2020/02/15(土) 08:45:46.45 ID:Ba23wrvp.net]
>>109
103です。ありがとうございます。なんとなくわかったような気がしますが、自分には.netクラスライブラリのリファレンスマニュアル読めるほどのオブジェクト指向プログラムの知識が足りてないようです。

powershellでちょっと小難しい事しようと思うといつもこの壁にぶち当たります。

114 名前:デフォルトの名無しさん mailto:sage [2020/02/15(土) 09:54:27 ID:/QpUFa9s.net]
>>112
デバッガで実行ステップを追う感覚で捉えると分かりやすいよ
Powershellのようなコンソールアプリって基本シングルスレッドで、上から下に処理が流れて最後まで行ったら終わりでしょ
Showメソッドは表示するだけ
ShowDialogと違って閉じるのを待たずに呼び出し元に処理を戻すから、メインスレッドはすぐに続きのスクリプト処理を再開してしまう
ウィンドウっていつでもユーザーのマウス操作に反応できて、閉じられるまでは処理が終わらないよね
それは無限ループを回し続けて、マウス操作のような指令が来るまでキューを調べて待つ体制に入ってるから
その仕事を直接的にも間接的にもやってないならウインドウはだんまりになって当然
結論、コンソールアプリから最初に呼び出すウィンドウはモーダル表示にすべし

115 名前:デフォルトの名無しさん mailto:sage [2020/02/16(日) 00:31:35 ID:EHy9IoT2.net]
>>114
ありがとうございます
スッキリしました

よくC#でShowDialogで表示した時はDisposeを呼ばないとダメと言いますが、
これもイベントループを作るのか作らないかの差なのでしょうか
また、PowerShellでもDisposeした方がいいのでしょうか

116 名前:デフォルトの名無しさん mailto:sage [2020/03/05(木) 08:17:58 ID:Lxf+ynQs.net]
Announcing PowerShell 7.0
https://devblogs.microsoft.com/powershell/announcing-powershell-7-0/

Today, we’re happy to announce the Generally Available (GA) release of PowerShell 7.0!

117 名前:デフォルトの名無しさん mailto:sage [2020/03/06(金) 04:35:17.20 ID:fNVi1eTS.net]
インストーラで出てくるスパイダーマンのパチモンみたいなの何なの

118 名前:デフォルトの名無しさん mailto:sage [2020/03/06(金) 05:16:26.33 ID:hxBXwa2S.net]
Overwatchのソンブラにそっくりだけどパクったのか?

119 名前:デフォルトの名無しさん mailto:sage [2020/03/06(金) 09:18:25 ID:jyEHwxlL.net]
https://blog.shibata.tech/entry/2017/10/14/153510

このキャラクターはあまり認知度は高くないと思いますがPowerShell公式のキャラクターです。

名前はそのまま PowerShell の様です。(よくある言語の擬人化なのでしょう)
中の人からはPowerShell HeroやPosh-Chan*2と呼ばれている様です。

いまではPowerShell TeamのTwitterアイコンにも採用されています。

120 名前:デフォルトの名無しさん mailto:sage [2020/03/06(金) 11:37:23.38 ID:B7JE7mx4.net]
>>116
キタ━━━━(゚∀゚)━━━━!!



121 名前:デフォルトの名無しさん mailto:sage [2020/03/06(金) 16:45:05 ID:EUcOgnT/.net]
PowerShellの本増えないかなー
日本でももう少し流行ってほしい

122 名前:デフォルトの名無しさん mailto:sage [2020/03/06(金) 17:17:48.60 ID:mKExt1TS.net]
>>121
Windows が関係するインフラ系の管理ではデファクトだと思ってたけど違うんかい?

自分はインフラ系の仕事が多いんだけど、MS 製品は言うに及ばず、
VMware、AWS、HPE の設定とか構築で使うためのモジュールが用意されてるんで、
そっち系の人は全員使ってるのかと思ってた。

今関わってる案件だと客先で用意された作業用 PC でも PowerCLI は
入れさせてもらえるんで、VMware の構築&設定が超絶はかどってすごく助かってる。

123 名前:デフォルトの名無しさん mailto:sage [2020/03/06(金) 19:23:36.96 ID:EUcOgnT/.net]
>>122
IT系ですらない製造業の人間なので、インフラとかよく知らんです
CSVファイルとか扱う定型業務でVBAの代わりに流行らないかなーと思ってる
会社PCに標準で入ってるのが何よりありがたい
たまたまC#の経験あるからPowerShellが使いやすく感じるだけなのかもしれんけど
VBAは古すぎるし、文化が違いすぎて好きになれない…

124 名前:デフォルトの名無しさん mailto:sage [2020/03/06(金) 22:15:50 ID:mKExt1TS.net]
>>123
確かに、RPA 的な用途にも使えるわね。

そう言われてみれば、IT プロ向けの PowerShell の資料は山ほどあるけど、
エンドユーザの業務効率化に的を絞った資料ってあまり聞かないね。

エンドユーザが手作業でやってる定型業務を PowerShell +αで
自動化/半自動化する事例を紹介する資料を作れば需要ありそう。

125 名前:デフォルトの名無しさん mailto:sage [2020/03/07(土) 20:55:12.96 ID:yZMlhieX.net]
Windows以外でもGridViewが使える

A new kind of GridView right in your console: Introducing the early preview of ConsoleGuiTools
https://devblogs.microsoft.com/powershell/introducing-consoleguitools-preview/

126 名前:デフォルトの名無しさん mailto:sage [2020/03/09(月) 17:26:48.99 ID:BZZ4ItAR.net]
パワーシェルでテキストファイルを一行ずつ読み取って環境変数化するのはどうやるんでしょうか?

バッチファイルだと簡単にできるのにパワーシェルだと難しい
イメージ的にはこんなことをパワーシェルでやりたいです
for /f %%a “usebackq” in (./testfile.txt) do (
set testenv=%%a
echo !testenv!
)

127 名前:デフォルトの名無しさん mailto:sage [2020/03/10(火) 14:15:31 ID:qUF7p1Fi.net]
こーゆー感じのことやりたいのか?

cat .\testfile.txt | %{ $env:testenv = $_; $env:testenv }

128 名前:デフォルトの名無しさん mailto:sage [2020/03/10(火) 14:32:38.22 ID:j2kTK4tI.net]
>>126
Get-Content -Path .\TextFile.txt | ForEach-Object -Process { $env:TestVar = $_ }

もしくは
$ContentData = Get-Content -Path .\TextFile.txt
foreach ($LineData in $ContentData) {
$env:TestVar = $LineData
}

こんな感じじゃないかな
知らんけど

グローバルな環境変数への代入はどうするのかな?

129 名前:デフォルトの名無しさん mailto:sage [2020/03/11(水) 20:45:46.50 ID:lIDu6EwW.net]
>>128
上の方の感じでできました!ありがとうございます

グローバルな環境変数とはなんですか?

130 名前:デフォルトの名無しさん mailto:sage [2020/03/11(水) 20:47:48.33 ID:lIDu6EwW.net]
あ、システム環境変数のことですか
シェルスクリプト内の一時環境変数?で良いのです



131 名前:デフォルトの名無しさん mailto:sage [2020/03/13(金) 14:02:44 ID:MwEg+WGB.net]
javawみたいな感じで、スクリプト実行時にコマンドプロンプトを出さない方法はありませんか?1ファイルで。
ショートカットやvbs等の2ファイル使う方法なら解ってます。

132 名前:デフォルトの名無しさん mailto:sage [2020/03/13(金) 15:02:17.45 ID:VpgJT114.net]
まだ開発中

WIP: Add pwshw for console-less PowerShell on Windows
https://github.com/PowerShell/PowerShell/pull/10962

133 名前:デフォルトの名無しさん mailto:sage [2020/03/13(金) 15:27:21 ID:e1b5/B0w.net]
↑そのpwshwが取り込まれるまでは、↓を自前でビルドして自作pwshwなり、powershellwなりを作ることもできるよ
https://github.com/SeidChr/RunHiddenConsole
ビルドしてできたhiddenw.exeをリネームして使うだけ

134 名前:デフォルトの名無しさん mailto:sage [2020/03/13(金) 19:15:38.63 ID:cafRoH7X.net]
>>131
1,

135 名前:まず、.ps1 で動作するスクリプトを作る
2,1を BASE64 でエンコード
3,powershell.exe にオプション -EncodedCommand と 2をつないで実行
4,3を .cmd (.bat) に書く

詳細は「powershell EncodedCommand」みたいな感じでググればいいでしょう。
[]
[ここ壊れてます]

136 名前:1134 mailto:sage [2020/03/13(金) 19:18:46.13 ID:cafRoH7X.net]
>>131
すまん、コマンドプロンプトを出さずに、か。勘違いしてました。
>>134 は取り下げます。

137 名前:デフォルトの名無しさん mailto:sage [2020/03/14(土) 10:34:16 ID:3Jd+nG/t.net]
exe化するやつにそんなオプションがあったと思う

138 名前:デフォルトの名無しさん [2020/03/15(日) 16:23:53 ID:ake3THHi.net]
Windows PowerShell in Action、900ページあるけど面白かった
次はPowerShell fo Sysadmins読もうかな

139 名前:デフォルトの名無しさん mailto:sage [2020/03/15(日) 23:09:18.13 ID:b9Qsc7j/.net]
python.exe / pythonw.exe や ruby.exe / rubyw.exe の違いでよく悩むのでまとめておく

https://blog.shibayan.jp/entry/20141221/1419171414

140 名前:デフォルトの名無しさん mailto:sage [2020/03/16(月) 21:24:16.40 ID:vD0R4SAm.net]
>>133
さいこー。ありがとう



141 名前:デフォルトの名無しさん [2020/03/20(金) 21:08:31 ID:hI9v4wSz.net]
win10 バージョン5.1
Invoke-RestMethodの"-body"にjsonを入れる方法を教えてほしい
google photos apiで日付を指定して一覧を取得したい
ubuntu + curlで
curl -s -X POST -H "Authorization: Bearer " -H "Content-type: application/json"
-d '{"filters":{"dateFilter": {"dates":[{"year":2019,"month":11,"day":15}]}}}'
https://photoslibrary.googleapis.com/v1/mediaItems:search
これだと取得出来るんだけど

powershellで
$header = @{"Authorization" = "Bearer "};
$body = '{"filters":{"dateFilter": {"dates":[{"year":2019,"month":11,"day":15}]}}}';
Invoke-RestMethod -Uri https://photoslibrary.googleapis.com/v1/mediaItems:search
-Method Post -Headers $header -Body $body ;

(400) 要求が不適切ですでエラーになる
たぶんbodyの入れ方が悪いだと思うんだけど

アルバムIDの絞り込みだったら
$body=@{
"albumId"="id"
}
で取得出来た

142 名前:デフォルトの名無しさん mailto:sage [2020/03/20(金) 23:34:49 ID:fNo2jQuJ.net]
-ContentType "application/json" を付けるか
もしくは全部ヘッダに入れる

$accessToken = "your access token"
$uri = "https://photoslibrary.googleapis.com/v1/mediaItems:search"

$response = Invoke-RestMethod $uri -Method Post -Headers @{
  Authorization = "Bearer $accessToken"
  Filters = @{
    DateFilter = @{
      Dates = @{ Year = 2016; Month = 3; Day = 1 }
    }
  }
}

143 名前:デフォルトの名無しさん mailto:sage [2020/03/21(土) 00:10:00.03 ID:AKmTgF3+.net]
ごめんやっぱBodyに入れないといけない

$body = @{
  filters = @{
    dateFilter = @{
      dates = @(@{ year = 2019; month = 11; day = 15 })
    }
  }
} | ConvertTo-Json -Depth 100

$param = @{
  Uri = $uri
  Method = "Post"
  Headers = @{ Authorization = "Bearer $accessToken" }
  Body = $body
  ContentType = "application/json"
}
$response = Invoke-RestMethod @param

144 名前:デフォルトの名無しさん [2020/03/21(土) 00:24:48 ID:WepcD5N+.net]
>>141
>>142
なるほど、curlの"Content-type: application/json"の部分を指定してやらんといかんかったのか。
そしてちょっとあきらめてた連想配列も提示してもらっちゃって
超ありがとうございました。
ばっちり動いたっす

145 名前:デフォルトの名無しさん mailto:sage [2020/03/21(土) 09:18:44 ID:AEZYARkU.net]
PowerShell 7.0 の新機能
https://docs.microsoft.com/ja-jp/powershell/scripting/whats-new/what-s-new-in-powershell-70

146 名前:デフォルトの名無しさん mailto:sage [2020/03/21(土) 09:34:19 ID:Nklv0DXu.net]
VSCode の拡張機能、REST Client が簡単!

POST localhost:8888/abc HTTP/1.1
content-type: application/json

{
"name": "abc",
"time": "時刻"
}

147 名前:デフォルトの名無しさん mailto:sage [2020/03/21(土) 10:02:37 ID:+Hs4SQrc.net]
>>144
・パイプラインの並列化 (ForEach-Object -Parallel を使用)
これいいな

148 名前:デフォルトの名無しさん [2020/03/21(土) 17:39:49 ID:vJ0Lurek.net]
Windows PowerShell in Actionの改3版、日本語訳してくれないかなぁ…

149 名前:デフォルトの名無しさん mailto:sage [2020/03/23(月) 10:55:55.25 ID:wpOCnP6k.net]
パイプラインを繋げる先を条件で分岐って可能ですか?
イメージとしては

Get-Nantoka |
Switch ($_.Name)
Case ('A') | Get-NantokaA
Case ('B') | Get-NantokaB
Case ('C') | Get-NantokaC

な感じです

150 名前:デフォルトの名無しさん mailto:sage [2020/03/23(月) 22:15:40 ID:nB8lN/u6.net]
さすがにそんなシンタックスはないが同じような動作はできる

$continuation = @{
  A = { select Name,Age | Write-Host -f Cyan }.GetSteppablePipeline()
  B = { select Name,Gender | Write-Host -f Magenta }.GetSteppablePipeline()
  C = { select Name | Write-Host -f Yellow }.GetSteppablePipeline()
}
$continuation.Values.ForEach("Begin", $true)

@"
Name,Age,Gender
A,12,Male
C,93,Female
B,32,Male
A,52,Female
C,73,Female
"@ | ConvertFrom-Csv | foreach { $continuation[$_.Name].Process($_) }

$continuation.Values.ForEach("End")



151 名前:デフォルトの名無しさん mailto:sage [2020/03/24(火) 02:11:10.59 ID:1omVAMXs.net]
結局処理を別々に書かなきゃいけないなら書いてる通りswitch文でいいんじゃねって気はする

152 名前:デフォルトの名無しさん mailto:sage [2020/03/24(火) 12:26:04.21 ID:/23EZweg.net]
switch文だと毎回新規にGetNantokaAとかが呼ばれてしまうため例えばGetNantokaAがMeasure-Objectだと意味がなくなる






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](;´∀`)<319KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef