【最強CUI】PowerShell -Part 2at TECH
【最強CUI】PowerShell -Part 2 - 暇つぶし2ch596:デフォルトの名無しさん
18/03/04 13:10:20.82 7vnf9POv.net
企業ならクライアントもWindows 7とか珍しくないから配布するようなスクリプトだと2.0前提

597:デフォルトの名無しさん
18/03/04 13:58:40.18 9+M4xykP.net
>>566
add-typeあるんだから普通にC#で書けば良くね
URLリンク(pastebin.com)
PSCustomObjectに実装しないといけないなら知らんけど

598:デフォルトの名無しさん
18/03/04 15:05:09.28 IHwduGqd.net
Windows PowerShell 2.0 Deprecation
URLリンク(blogs.msdn.microsoft.com)

599:デフォルトの名無しさん
18/03/04 17:24:27.69 D98mTqXy.net
>>571
それじゃpowershellコマンド使えないじゃん

600:デフォルトの名無しさん
18/03/04 21:56:10.13 hNuDXfDM.net
句読点を多用するのは下手な日本語で嫌われる。
もともとどこが句切りかわからないひと向けの記号だから、句読点の使用は馬鹿にされることもある。

601:デフォルトの名無しさん
18/03/04 22:04:18.45 E9oZl2pC.net
pushd/popd 便利やなあ
わしゃずっとcd使っとったぞい

602:デフォルトの名無しさん
18/03/05 05:26:47.07 ZV3N5zu0.net
>>575
わたしゃ多用してますわ
push-location
pop-location
と省略せずにつかっておりますです

603:デフォルトの名無しさん
18/03/06 18:11:54.95 QwFmEXbL.net
c# scriptingのほうが楽とちゃうか?
ネイティヴコマンド連携だけは若干ps有利かなといった印象

604:デフォルトの名無しさん
18/03/06 20:17:46.87 Xwb93uOm.net
その時々で都合の良いほうを使えばいいよ
同じ.NETなんだから否定する理由も無い

605:デフォルトの名無しさん
18/03/07 07:41:36.43 E7Qx2uww.net
>>578
あ、議論から逃げたw

606:デフォルトの名無しさん
18/03/07 07:47:27.99 Bp6mjckS.net
>>577
C# scriptingその後の話題が無いところをみると
どうも今一つなんかな

607:デフォルトの名無しさん
18/03/07 21:20:29.09 6bAELGui.net
>>577
シェルのlsやらcatやらみたいなのもc# scriptingのほうが楽なの?

608:デフォルトの名無しさん
18/03/08 00:59:56.29 D0NacyLc.net
bashとかが駄目な理由に、bashで書きづらくても、そこからpythonとか他の言語にするなら全部書き直しになる

609:デフォルトの名無しさん
18/03/08 01:13:22.32 uJW9EWjF.net
CLIが嬉しいと言いたいのかな。ちょっと論旨が理解できないが。

610:デフォルトの名無しさん
18/03/08 04:26:04.35 OsiEjbqp.net
script vs shell scriptとか何十年前の話題だよ
進歩のない連中だ

611:デフォルトの名無しさん
18/03/15 06:42:05.85 D4RVJiAa.net
OSのシェルとプログラミング言語の区別がない人間ばかりだから仕方ない。

612:デフォルトの名無しさん
18/03/15 12:26:16.83 Vp0MsA86.net
シェルスクリプトをどちらかに分類したがるのは無理なのでは。

613:デフォルトの名無しさん
18/03/15 15:36:12.78 BVhm+pK4.net
basicはどっちなん?

614:デフォルトの名無しさん
18/03/15 16:51:24.16 2jkAdz6t.net
単に、UNIXなどで単機能インタープリターをシェルと
呼び始めたんで、シェルは別物と思う人たちが出てきて
しまっただけ。

615:デフォルトの名無しさん
18/03/15 22:19:45.69 NI14hTsx.net
OSのシステムコールとプログラミング言語の区別がない人間も多い

616:デフォルトの名無しさん
18/03/16 08:54:28.41 T21mXgK0.net
システムコールとライブラリ関数
http://


617:jibun.atmarkit.co.jp/lskill01/rensai/fulinux/02/01.html システムコールとライブラリ関数の区別は曖昧で、 昔はシステムコールだった手続きも今はライブラリ関数として実装されていることがありますし、その逆もあります。 そういった意味では、システムコールとライブラリ関数の違いを本気で意識しなければならないのは カーネルや基幹ライブラリを書くプログラマくらいと言えるかもしれません。 システムコールとライブラリ関数の違いが実際に役に立つのは、manページを参照するときです。 例えば「printf」にはコマンドのprintfとライブラリ関数のprintfがあるので、 ライブラリ関数のprintfの解説が見たければ「man 3 printf」と入力しないといけません。 「write」にはコマンドのwriteとシステムコールのwriteがあるので、 システムコールのほうが読みたければ「man 2 write」と入力しないといけません。



618:デフォルトの名無しさん
18/03/17 11:59:28.36 4+yOSMEm.net
>>586
おまえはシェルがシェルスクリプトだと思っているのか?

619:デフォルトの名無しさん
18/03/17 12:01:46.42 4+yOSMEm.net
シェル用のスクリプトだからシェルスクリプトなのに。

620:デフォルトの名無しさん
18/03/17 16:54:33.86 gmKtMsY0.net
史上嘗て無い頭の悪そうな突っ込み

621:デフォルトの名無しさん
18/03/21 11:12:47.74 yOhpRYak.net
ps coreイイね

622:デフォルトの名無しさん
18/03/21 12:31:30.05 U1NUu6zm.net
>>594
そっすか

623:デフォルトの名無しさん
18/03/21 12:38:11.67 sjE01Nui.net
powershell_ise coreとかあったら良いのに
と思ったけど流石に需要ないか

624:デフォルトの名無しさん
18/03/21 12:51:05.01 kSqnsZIp.net
>>596
俺も欲しい
vscodeでも出来るけど、捨てコード書くには面倒なんだよね

625:デフォルトの名無しさん
18/03/22 00:18:59.44 tdHViWJs.net
VSCode の、Code Runner
ソースコードの範囲を選択して、実行できる
これは、便利なプラグイン!

626:デフォルトの名無しさん
18/03/22 00:26:12.80 2RoYBMkH.net
>>598
それ入れてないけど、範囲選択+F8で部分実行できたぞ
多分バージョンアップで不要になったプラグインだね

627:デフォルトの名無しさん
18/03/22 01:00:47.33 arhMS6Ve.net
部分実行できる言語もあるしできない言語もある
対象言語にも触れず「これは便利!」っつってる>>598もアホだし、対象言語もわかってないのに「バージョンアップで不要になったプラグイン」っつってる>>599もアホ

628:デフォルトの名無しさん
18/03/22 01:18:02.22 2RoYBMkH.net
スレタイも読んでない600が一番アホでは?

629:598
18/03/22 04:55:52.14 tdHViWJs.net
VSCode の、Code Runner
ソースコードの範囲を選択して、右クリックメニューから実行できる
便利なプラグイン!
PowerShell にも対応している

630:デフォルトの名無しさん
18/03/22 06:41:35.55 G0SZ4nh0.net
宣伝

631:デフォルトの名無しさん
18/03/24 09:35:21.60 9NxgdLlD.net
powershell coreでNuGetパッケージを使いたい場合ってどうすればいいの
Dapperを使う時にC#だったらdotnet add package Dapper; dotnet restoreだけどpowershellプロジェクトだとどうするのかな

632:デフォルトの名無しさん
18/03/25 17:30:21.30 rN4AhykW.net
dotnet add package Dapper
dotnet restore --packages ./packages
Add-Type $source -ReferencedAssemblies netstandard, ./packages/.../Dapper.dll
これでできたわ
お前らまじで使えねえなー

633:デフォルトの名無しさん
18/03/26 07:20:39.22 90OCo3hj.net
すみません。。

634:デフォルトの名無しさん
18/03/28 21:08:11.49 rexEOFUm.net
とあるフォルダ配下にあるテキストファイルだけ抽出して配列に格納
別のフォルダ配下にあるテキストファイルだけ抽出して配列に格納し配列同士を比較して同じファイルのみを抜き出してCompare-Objectで比較したいんですけどどうやったらできますか?

635:デフォルトの名無しさん
18/03/28 22:43:30.34 WBaBvJPO.net
>>607
$a = ls "フォルダ1" *.txt
$b = ls "フォルダ2" *.txt
$a + $b | group name | where count -eq 2 | foreach { $_.name; compare (gc $_.group[0] .fullname) (gc $_.group[1].fullname) | ft }

636:デフォルトの名無しさん
18/03/29 01:53:06.95 0KWZ/AkQ.net
>>608
>gc $_.group[0] .fullname
.fullname の前に、半角空白が入っているから、エラーになる

637:デフォルトの名無しさん
18/03/29 04:02:59.38 63+/4se6.net
>>608
似たようなことよくやるが、やっぱ癖が出るね
自分なら最初こうやるかな
@(
Get-ChildItem "フォルダ1" *.txt
Get-ChildItem "フォルダ2" *.txt
)|
変数あまり使いたくないし、lsは動作がUNIXとは違うから紛らわしくて

638:デフォルトの名無しさん
18/03/29 07:16:54.73 V1TivHhi.net
>>609
ありゃconemuだと折返し部分に勝手にスペース入っちゃうんだな
>>610
そのへんは好みだとしてもそれ見て気づいたけどファイルが一つしかなくて$aが配列じゃない場合 $a + $b だとエラーになるね
@($a; $b) とすべきだったか

639:デフォルトの名無しさん
18/03/29 07:57:32.30 0KWZ/AkQ.net
1つか複数かで、オブジェクトの型が違うのか
ややこしい言語やな

640:デフォルトの名無しさん
18/03/29 12:10:52.44 ZJ5ir4HC.net
そういう細かい変な挙動がめんどくさいからC#で書いてAdd-Typeしてるわ
Linqあれば大抵の処理はPowerShellより書きやすいし読みやすい

641:デフォルトの名無しさん
18/03/29 21:42:00.78 QJhSKNI2.net
>>608
ありがとうございます
これやったんですけどcountのところで型エラーになっちゃいました
>>610>>611でもダメみたいです

642:デフォルトの名無しさん
18/03/29 22:03:31.09 AdhamQsX.net
& {
ls foo
ls bar
}

643:デフォルトの名無しさん
18/03/29 22:51:24.43 V1TivHhi.net
>>614
powershellのバージョンは?
古いのはよくわからんけど Group-Object -Property Name とかしたらできるんかね 

644:デフォルトの名無しさん
18/03/29 22:57:06.82 V1TivHhi.net
もしpowershell2ならこれなら動くんじゃないかな、試してないけど
@($a; $b) | Group-Object -Property Name | Where-Object { $_.Count -eq 2 } | Foreach-Object { $_.Name; Compare-Object -ReferenceObject $(Get-Content $_.Group[0].Fullname) -DifferenceObject $(Get-Content $_.Group[1].Fullname) | Format-Table }

645:デフォルトの名無しさん
18/03/29 23:14:54.79 cCEUqbyZ.net
>>616
バージョンこんな感じです
> $PSVersionTable
Name Value
---- -----
CLRVersion 2.0.50727.8762
BuildVersion 6.1.7601.17514
PSVersion 2.0
WSManStackVersion 2.0
PSCompatibleVersions {1.0, 2.0}
SerializationVersion 1.1.0.1
PSRemotingProtocolVersion 2.1

646:デフォルトの名無しさん
18/03/29 23:18:05.53 cCEUqbyZ.net
>>617
やると↓
$a=Get-ChildItem "D:\test\*.*" -include *.txt,*.dat
$b=Get-ChildItem "G:\test\*.*" -include *.txt,*.dat
@($a; $b) | Group-Object -Property Name | Where-Object { $_.Count -eq 2 } | Foreach-Object { $_.Name;
ompare-Object -ReferenceObject $(Get-Content $_.Group[0].Fullname) -DifferenceObject $(Get-Content $_.Group[1].Fullname
| Format-Table }
b.txt
Compare-Object : 引数が null であるため、パラメーター 'ReferenceObject' にバインドできません。
発生場所 行:1 文字:134
+ @($a; $b) | Group-Object -Property Name | Where-Object { $_.Count -eq 2 } | Foreach-Object { $_.Name; Compare-Object
-ReferenceObject <<<< $(Get-Content $_.Group[0].Fullname) -DifferenceObject $(Get-Content $_.Group[1].Fullname) | Form
at-Table }
+ CategoryInfo : InvalidData: (:) [Compare-Object]、ParameterBindingValidationException
+ FullyQualifiedErrorId : ParameterArgumentValidationErrorNullNotAllowed,Microsoft.PowerShell.Commands.CompareObje
ctCommand

647:デフォルトの名無しさん
18/03/29 23:45:57.68 V1TivHhi.net
それ単に空ファイルだからでしょ

648:デフォルトの名無しさん
18/03/29 23:54:26.21 cCEUqbyZ.net
>>620
空ファイルとの差分も比較したいっす

649:デフォルトの名無しさん
18/03/30 00:15:02.11 8/UdoTgk.net
-ReferenceObject $(if ($_.Group[0].Length -eq 0) {"空ファイル"} else {Get-Content $_.Group[0].Fullname})
とかすればいい-DifferenceObjectも同様に

650:デフォルトの名無しさん
18/03/30 00:55:45.74 1oIUHR4g.net
>>622
おお!なんか求めてるものができました
ありがとうございます

651:デフォルトの名無しさん
18/03/30 12:24:41.58 87KFZNYL.net
PSVersion 2.0 って、古いな
漏れは、Windows10 で、5.1

652:デフォルトの名無しさん
18/03/30 12:46:33.65 MnRWcQoL.net
>>624
> PSVersion 2.0 って、古いな
Windows 7 の標準装備だから会社によっては今でもその縛りがあるところは珍しくない

653:デフォルトの名無しさん
18/03/30 13:31:52.36 CA1T1+Qn.net
むしろwin10なのに5.1は古い
6.01入れちまえ

654:デフォルトの名無しさん
18/03/30 15:57:34.95 BIk3pBCX.net
標準で入ってるから使うんであって
わざわざ入れるなんて許されない
それがPowershellの掟

655:デフォルトの名無しさん
18/03/30 16:03:03.73 GA8gSqY/.net
常時最新版は入れるけど開発は2.0で

656:デフォルトの名無しさん
18/03/30 23:23:41.80 v3STFQKk.net
個人で使う分にはいいんだろうけどね

657:デフォルトの名無しさん
18/03/31 09:12:34.80 9aphfiP0.net
2.0でも問題ないように勉強しつつ、案件が始まったら最新版のインストールを駄目元でお願いする感じ

658:デフォルトの名無しさん
18/03/31 09:41:50.71 PackIPAm.net
いつの間にか6.0.2がリリースされてた
URLリンク(github.com)

659:デフォルトの名無しさん
18/03/31 20:24:07.76 xiXxh7KM.net
ファイルの最後の文字のみ読み込んで
例えば最後の文字が
〇〇てすと
だったら
てすと
に置換して元から"てすと"だったそのままにしたいんだけどどうすればできますか?
ただし最終行が"てすと"じゃなかった場合は"てすと"を追記したいです
個人的にはループ処理で最終行から読み込んで意図した文字列なら置換って事がやれればいいと思ってます
※バージョンは2.0でお願いします!

660:デフォルトの名無しさん
18/03/31 23:42:23.39 ZBdPbw02.net
Ruby で作った
text = File.read ARGV[0] # 引数はファイル名
ary = []
# 文字列を1行ずつ、配列に入れる
text.each_line{ |line| ary << line }
p ary
# 戻り値は、置換が行われたときはレシーバ自身、置換されなかったときはnil
if ary[-1].sub!(/〇〇てすと$/, 'てすと')
# 処理なし。レシーバ自身を変更する
elsif /てすと$/ !~ ary[-1] # てすと で終わらない
ary[-1] += 'てすと'
else
return
end
p ary[-1]
File.write(ARGV[0], ary.join)

661:デフォルトの名無しさん
18/03/31 23:55:40.86 jgzyYqDp.net
>>633
ここPowershellスレなんだが…

662:デフォルトの名無しさん
18/04/01 00:05:46.07 QUrQa6Zt.net
>632をなんとなく作ってみたんですけど、
最後に出力された文字列だけを置換しての部分がうまくいかない
置換自体は出来るんだけどその部分だけ文字列に書き込む方法が分からん。。。
(Get-Content D:\test\a.txt)[(Get-Content D:\test\a.txt).length..0] | Foreach-Object {
if( $_.length ){
if(!($_ -like "*てすと*")){
Add-Content -Path D:\test\a.txt -Value "てすと"
break
}
$_ -replace ".*てすと.*", "てすと"
break}
}

663:633
18/04/01 00:36:26.53 ECJY99tL.net
>その部分だけ、文字列に書き込む方法が分からん
Ruby でも、ファイルを読み書き両用で開くと、
現在のシーク位置を、あれこれ移動しないといけないから、非常にややこしい。
シーク位置を変数に入れておいて、あれこれ考えるのは、ややこしい
だから、テキスト全体を改行区切りの配列に入れて、最後の行だけを変更してから、
全部を書き込む方が簡単
633 では、そうしている

664:デフォルトの名無しさん
18/04/01 01:17:13.74 XTr+hbom.net
趣旨に合っているかな?
$list=Get-Content sample.txt
$text="てすと"
foreach($line in $list){
if([string]::IsNullOrEmpty($line)){$line=$text}
$str=$line.Substring($line.length-3)
if($str -eq $text){ $newline=$str}
else{ $newline=$line }
$newline
}

665:637
18/04/01 01:18:30.22 XTr+hbom.net
最後の行についてわすれてた

666:637
18/04/01 01:28:26.15 XTr+hbom.net
再度
$list=Get-Content test.txt
$text="てすと"
foreach($line in $list){
if([string]::IsNullOrEmpty($line)){$line=$text}
$str=$line.Substring($line.length-3)
if($str -eq $text){ $newline=$str}
else{ $newline=$line }
$newline
}
if($str -ne $text){$text}

667:デフォルトの名無しさん
18/04/01 01:34:17.86 VsRAmkXY.net
ぱわーしぇる風にパイプかつメモリ最小で作ってほしーなんつって

668:デフォルトの名無しさん
18/04/01 01:37:20.38 VsRAmkXY.net
つーかバッチファイルスレで似たような質問してたアホだなこいつ

669:637
18/04/01 02:13:27.25 XTr+hbom.net
パイプよりこのほうがずっと高速なもんで

670:デフォルトの名無しさん
18/04/01 02:32:32.46 QUrQa6Zt.net
>>639
いいんだけどこれだと空白行全部"てすと"になっちゃてね?

671:639
18/04/01 02:44:04.47 XTr+hbom.net
そうしてる。
空白行は空白のままでよかったんだ
じゃIFのところだけ書き換え
$list=Get-Content test.txt
$text="てすと"
foreach($line in $list){
if(-NOT [string]::IsNullOrEmpty($line)){
$str=$line.Substring($line.length-3)}
if($str -eq $text){ $newline=$str}
else{ $newline=$line }
$newline
}
if($str -ne $text){$text}

672:デフォルトの名無しさん
18/04/01 02:46:44.02 XTr+hbom.net
考えたらこれだと文字数が3文字未満だとエラーになるな
ねむいが・・書き換えてみるかな

673:639
18/04/01 02:54:07.64 XTr+hbom.net
今度はどうだろう
$list=Get-Content test.txt
$text="てすと"
foreach($line in $list){
$newline=$line
if($line.length -gt 2){
$str=$line.Substring($line.length-3)
if($str -eq $text){ $newline=$str}
}
$newline
}
if($str -ne $text){$text}

674:デフォルトの名無しさん
18/04/01 03:12:47.24 QUrQa6Zt.net
>>646
最終行だけてすとじゃなくてその上にてすとの文字列が有るとそのあと全部てすとになっちゃうね

675:デフォルトの名無しさん
18/04/01 03:38:49.54 IR/E13YL.net
こんなもんかね
psv2.0に配列のcountあったっけか
$file = "test.txt"
$text = "てすと"
,@(Get-Content $file)|%{
foreach($i in 0..($_.count-1)){
if($i -eq ($_.count-1)){
if($_[$i] -like "*$text"){
$text
}else{
$_[$i];$text
}
}else{
$_[$i]
}
}
}|Out-File $file

676:デフォルトの名無しさん
18/04/01 07:43:52.97 dufOVYHg.net
>>641
あっちは、「最終行」じゃなくて「空行を除く最終行」だったからちょっと面倒だ

677:639
18/04/01 07:45:20.17 UUJ9t7Bj.net
>>647
なんと、寝ぼけてやってちゃだめだな。
あとで見直すわ

678:デフォルトの名無しさん
18/04/01 08:53:40.41 P1fWuhY2.net
PowerShellコード可読性低すぎワロタwww時代はC#ですわ
Add-Type -TypeDefinition @"
using System.IO;
using System.Text.RegularExpressions;
public class Hoge {
private static readonly Regex r = new Regex(@"[^\n]*てすと$", RegexOptions.Compiled | RegexOptions.Singleline | RegexOptions.CultureInvariant);
public static void ReplaceLastTest(FileInfo file) {
string s = File.ReadAllText(file.FullName);
s = r.Replace(s.TrimEnd(), string.Empty) + "てすと";
File.WriteAllText(file.FullName, s);
}
}
"@
[Hoge]::ReplaceLastTest((Get-ChildItem ./test.txt))

679:デフォルトの名無しさん
18/04/01 10:49:38.76 IR/E13YL.net
>>651
PSなら書く必要もないもの多過ぎ
ついでに普通の環境じゃ編集の補助まったくないだろ

680:デフォルトの名無しさん
18/04/01 11:08:43.29 P1fWuhY2.net
>>648>>646のほうがよっぽど無駄なコード書いてるじゃんwww
ループインデックスとか久々に見たわwwwwベタループも条件分岐もくっそ読みにくいしwww
編集の補助ってインテリセンスの事ならこの程度のコードに必要ないだろw
つかpowershellerならVSCodeとっくに入っとるやろwww
C#もサポートされとるやんけwwww

681:デフォルトの名無しさん
18/04/01 11:37:50.84 QUrQa6Zt.net
>>648
これだと"てすと"の後に無駄な空行があるとその無駄な空行の後に"てすと"�


682:チて出力されちゃうね



683:デフォルトの名無しさん
18/04/01 11:44:34.33 XEaAmQBZ.net
エディタすら選べない様な残念な環境で頑張るのがPSですから
ってのは置いといてadd-typeで強引に解決するのは割と好き

684:デフォルトの名無しさん
18/04/01 11:56:29.10 IR/E13YL.net
>>654
最初の条件では空行を無視するとか書いてないけど

685:デフォルトの名無しさん
18/04/01 12:07:38.92 IR/E13YL.net
>>653
C#の別ファイル書いてadd-typeの中にコピペすんの?
それメンテナンス性最悪だよな

686:デフォルトの名無しさん
18/04/01 12:23:46.08 P1fWuhY2.net
つうかこれでええやんwwww
誰だよC#とか言ったアホwwwww
function Update-LastTest ([IO.FileInfo]$file) {
$s = Get-Content $file | Out-String
$s = ($s.TrimEnd() -replace '[^\n]*てすと$', '') + 'てすと'
$s | Out-File $file
}
Update-LastTest (Get-ChildItem ./test.txt)

687:639
18/04/01 12:23:50.08 y3W5ZkrO.net
何言われようと、めげずに
どうでしゃろ
$list=Get-Content test.txt
$text="てすと"
foreach($line in $list){
$newline=$line
if($line.length -gt 2){
$str=$line.Substring($line.length-3)
if($str -eq $text){ $newline=$str}
else{$newline=$line}
}
$newline
}
if($str -ne $text){$text}

688:639
18/04/01 12:29:46.66 y3W5ZkrO.net
>>658
てすとしてないけど、すばらしそう

689:639
18/04/01 12:38:23.68 y3W5ZkrO.net
>>658
あれ?
要求されてる仕様の理解が私とちがうな
どっちだろう?

690:639
18/04/01 12:42:58.03 y3W5ZkrO.net
ABCDてすと => てすと
XYX123 => XYX123
てすとのてすと => てすと
てすとのabc => てすとのabc
みたいな要望じゃないかな?

691:デフォルトの名無しさん
18/04/01 12:54:30.97 GlQ4Mmqm.net
2回実行したら全部の行がてすとになって区別付かなくなるけどそれでいい?

692:デフォルトの名無しさん
18/04/01 12:56:34.68 QUrQa6Zt.net
>>662
>>632の質問投げた本人ですけど最後はてすとでいいです
つまり
ABCDてすと => てすと
XYX123 => XYX123
てすとのてすと => てすと
てすとのabc => てすと
空行 => なにもしない

693:デフォルトの名無しさん
18/04/01 12:59:57.46 QUrQa6Zt.net
>>664に追記すると最後"だけ"を置換したいんです
途中に"〇〇てすと〇〇"
みたいな感じでてすとってワードが含まれていてもそれは無視したいんです

694:639
18/04/01 13:00:29.09 y3W5ZkrO.net
確認ですが
てすとのabc => てすと  
これあってます?
これだと単に文字列 "てすと" が含まれていたら "てすと" と
出力するように思うんですが。

695:デフォルトの名無しさん
18/04/01 13:02:37.55 QUrQa6Zt.net
>>666
はいそれで良いです

696:デフォルトの名無しさん
18/04/01 13:03:50.82 XEaAmQBZ.net
ごめん分かんなくなってきた

697:デフォルトの名無しさん
18/04/01 13:13:00.52 QUrQa6Zt.net
>>632
ごめんこれ質問が悪かったです
最終行が"てすと"ならじゃなくて最後の空行じゃ無い文字列に"てすと"が含まれていなかったら"てすと"を追記したい
が正しい

698:デフォルトの名無しさん
18/04/01 13:15:43.22 GlQ4Mmqm.net
だめだこりゃ

699:639
18/04/01 13:29:09.09 y3W5ZkrO.net
これはどうでしょう。
行に"てすと"という文字列が含まれていたら"てすと"だけを出力
含まれていなければ、そのまま出力
最後の行に"てすと"が含まれていなければ、その行はその出力し
つぎの行に"てすと"を追加
結果は$newlistに出力
function newfile{
param($text="てすと")
process{
if($_.ToString().Contains($text)){$newline=$text}
else{$newline=$_}
$newline
}
end{ if( -NOT $newline.Contains($text)){$text} }
}
$list=Get-Content ファイル指定
$newlist=$list|newfile

700:639
18/04/01 13:30:56.72 y3W5ZkrO.net
さいごに空の行もあり得るわけだ。<=これは入れていない
とするとそのはんていを1行追加するようだな。

701:デフォルトの名無しさん
18/04/01 13:54:17.68 Huwl0iS3.net
これだから日本語の仕様書は役に立たないって言われるんだな
テストケースを10個ぐらい書いてくれないと伝わらないパターンだ
コーディングはそれから始めても遅くない

702:639
18/04/01 14:11:02.57 y3W5ZkrO.net
最後の空白行orNull行の判定もいれてみたんだけど
function newfile{
param($text="てすと")
process{
if($_.ToString().Contains($text)){$newline=$text}
else{$newline=$_}
$newline
}
#end{ if( -NOT $newline.Contains($text)){$text} }
end{ if(-NOT($newline.Contains($text) -or [string]::IsNullOrWhiteSpace($newline)) ){$text}}
}
$list=Get-Content 入力ファイル
$newlist=$list|newfile

703:639
18/04/01 14:12:35.94 y3W5ZkrO.net
あってるかな?
あとは >>658 の方が綺麗なのを書いてくれることを期待。

704:デフォルトの名無しさん
18/04/01 14:20:36.23


705: ID:IR/E13YL.net



706:639
18/04/01 14:51:08.96 y3W5ZkrO.net
>>676
"てすと"という文字列を含む行は、"てすと"という文字列に置き換える
そうですよ。

707:デフォルトの名無しさん
18/04/01 15:08:33.93 IR/E13YL.net
>>677
>>665と矛盾してると思うが
"最後だけを置き換えたい" で行の最後か文章の最後か分からんが、
てすとのabc => てすと  
がOKなら行の最後じゃない、なら文章の最後だけって事じゃね?
なんか論理パズルやってる気になってきたなw

708:デフォルトの名無しさん
18/04/01 15:17:38.93 D0kqpvo1.net
>>676
最後に出てくる"てすと"以外は"てすと"があっても置き変えたくないです
あくまで最後だけ置き換えてください
>>677
置き換えないでそのままでいいです

709:デフォルトの名無しさん
18/04/01 15:19:24.07 D0kqpvo1.net
>>677
あー間違えた最後に出てくる"てすと"以外は"そのまま"でいいです

710:デフォルトの名無しさん
18/04/01 15:23:08.10 IR/E13YL.net
>>679
あ、来た
それと最後の空行はどうなの?
@"
aaa
bbbてすと
"@
が元ソースだとして
@"
aaa
てすと
"@
@"
aaa
bbbてすと
てすと
"@
@"
aaa
てすと
"@
の3パターンあるが、どれ?

711:デフォルトの名無しさん
18/04/01 15:31:18.80 D0kqpvo1.net
>>681
一番最初がいいですね

@"
aaa
てすと
"@

712:デフォルトの名無しさん
18/04/01 15:39:31.01 IR/E13YL.net
>>682
OK,やっと仕様が決まったね
めでたい

713:639
18/04/01 15:39:47.10 y3W5ZkrO.net
>>679
最後に出てくる"てすと"という意味ですが、したのようなとき
"てすと"を含む最後の行は5行目という意味ですか?
1行目 abmてすとxyz
2行目 1239xxxx
3行目 yyyyyてすと
4行目 xxxxyyてすとyy
5行目 てすとuuuu   <== "てすと"を含む最後の行
6行目 zzyyvv
7行目 練習123

714:デフォルトの名無しさん
18/04/01 15:47:44.82 D0kqpvo1.net
>>684
その場合だと7行目を判断して"てすと"以外の文字列なので"てすと"を追記してください。

715:デフォルトの名無しさん
18/04/01 15:51:05.88 IR/E13YL.net
>>684
君も読解力に問題あるぞw
途中の行は無視でしょ、「"てすと"を含む最後の行」なんて君しか言ってない
5行目はそのままで、8行目に"てすと"が加わるんでしょ

716:639
18/04/01 15:52:48.10 y3W5ZkrO.net
>>685
追記とは
8行目に"てすと"という文字列の1行ができるでよろしいですか?

717:デフォルトの名無しさん
18/04/01 15:53:31.12 D0kqpvo1.net
>>687
はいその認識で間違いありません

718:デフォルトの名無しさん
18/04/01 16:00:22.19 mWcRMyuA.net
はっきり言って>>665が非常に分かりづらい
"最後"って表現は何とかしてくれ

719:デフォルトの名無しさん
18/04/01 16:05:52.05 QUrQa6Zt.net
>>689
語彙が足らなくてごめんなさい。
最後っていうのをなんて伝えていいのかよくわからなかった
最終行っていうのも違うし、最後の文字列が入ってる行って言えばよかったんかな…

720:デフォルトの名無しさん
18/04/01 16:08:07.63 mWcRMyuA.net
>>690
>>649の表記はどう?

721:デフォルトの名無しさん
18/04/01 16:11:53.66 QUrQa6Zt.net
>>691
空行っていうのもなんか曖昧というか例えばスペース一個あって改行したらそれも空行だし

722:639
18/04/01 16:21:25.05 y3W5ZkrO.net
>>692
それははっきりした方がいいと思うよ。
一番最後の行が、スペースとしたとき
スペースとは、空白文字がありうるのか、nullなのかなど。

723:デフォルトの名無しさん
18/04/01 20:51:38.49 ih9TVGcf.net
>>688
ところであっちのスレと同一人物?
BATでも解決してたはずだけど、なんでまた同じ質問をこっちに?

724:デフォルトの名無しさん
18/04/02 01:08:53.03 4AdYvMWY.net
仕様があいまい
最後と言う言葉があいまい。
全体の文章の最後なのか、最終行を指すのか、どちらか分からないから
最終行だけがチェック対象なのか?
それとも、最終行以外も対象になるのか?

725:デフォルトの名無しさん
18/04/02 01:16:27.17 4AdYvMWY.net
>>632
>最終行が"てすと"じゃなかった場合は、"てすと"を追記したいです
これも、最終行が改行で終わっている場合と、終わっていない場合で、動作が変わる
abc\n → abc\nテスト
abc → abcテスト
上は、最終行の次の行に追加されるけど、
下は、最終行に追加される

726:デフォルトの名無しさん
18/04/02 10:47:05.22 qOetNhN3.net
$path = "Documents\hoge.txt"
$text = "てすと"
$file = @(Get-Content $path)
for($i = $file.count; $i -ge 0; $i--)
{
if($file[$i] -match "^\s*$")
{
continue
}
if($file[$i] -match ".*$($text).*")
{
$file[$i] = $text
} else {
$file[$i] += "`n" + $text
}
break
}
$file | Out-File $path
Powershell勉強中なんだけどこんな感じ?

727:デフォルトの名無しさん
18/04/02 11:17:36.79 hxQiBYMY.net
正直今のところ頂いた回答の中では>>658さんの回答が模範解答でした。

728:デフォルトの名無しさん
18/04/02 11:22:46.38 hxQiBYMY.net
>>697いいですね!!!

729:デフォルトの名無しさん
18/04/02 11:50:24.39 M5QFId2x.net
>>698
良いんだけど、>>658>>681で言う三番目で、希望は一番目らしいから、あと一工夫だね
正直もう飽きたから他の人がんばって

730:デフォルトの名無しさん
18/04/02 11:56:01.83 M5QFId2x.net
>>697でいいやん
自分の趣味じゃないから読みにくいけど、条件は満たしてる

731:デフォルトの名無しさん
18/04/06 06:46:32.07 lsq7GlrL.net
PSはマルチスレッド気軽に使えないの?
ググるとリモート、マルチプロセスとRunspaceのサンプルばっかり出てくるんだが
2.0だとTaskも無いからキビシイのかね

732:デフォルトの名無しさん
18/04/06 09:32:58.70 j6pN+emA.net
>>702
つかえるんじゃない?
どんな処理をしたいということなの。

733:デフォルトの名無しさん
18/04/07 08:02:18.06 qEuioEYI.net
いやーなんかねHttpListenerのBeginGetContextでクラッシュするんです
マルチスレッド対応してないのかなと

734:デフォルトの名無しさん
18/04/07 17:09:59.62 q5Iu4RDV.net
マルチスレッドというより(マルチスレッドだけど)
それが非同期に対応しているかという話ね。

735:デフォルトの名無しさん
18/04/07 21:26:24.68 qEuioEYI.net
原因わかった
別スレッドだとrunspaceが無いからpowershellコードが動かんのだとさ

736:デフォルトの名無しさん
18/04/07 21:35:48.91 aBoyVqLJ.net
こんな記事あるけど使える?
RunspacePoolを使って、PowerShellを非同期実行
URLリンク(www.gmo.jp)

737:デフォルトの名無しさん
18/04/07 23:31:41.22 qEuioEYI.net
>>707
今日はそれを調べてた
GetContext使ってメインスレッドで同期的にコンテキストを受けて
ルーティング処理〜レスポンス閉じるまでをrunspaceでOneWay非同期処理するといい感じで動作してるっぽい

738:デフォルトの名無しさん
18/04/22 08:09:34.07 kKNIjb5q.net
>>279
こいつアホすぎてムカつく
わからんなら黙ってろかす!

739:デフォルトの名無しさん
18/04/22 10:30:51.82 H/AU6k7y.net
どんだけロングパスなんだよ w

740:デフォルトの名無しさん
18/04/22 16:41:59.07 T8IjF/fs.net
TrustedInstallerのままなのはOS不具合かな
最近こういうの放置でアップグレードしてくから困る

741:デフォルトの名無しさん
18/04/27 00:02:08.86 H5AR7ZMg.net
聞いてくれやおじさん
UIautomationとやらを探して2日たらし回しにされた
psのgui自動化ツールはこれでええのか

742:デフォルトの名無しさん
18/05/03 08:13:52.50 Fo+ItQuC.net
確かに探すの難しくなってるな
UI Automation PowerShell ExtensionsのDownload(再配布)
URLリンク(www.code-lab.net)


743:age_id=21648



744:デフォルトの名無しさん
18/05/03 21:30:36.66 nUgTWhrN.net
更新されてないってことは失敗なのか

745:デフォルトの名無しさん
18/05/05 08:53:20.47 GHjIUW8T.net
UIautomationって旧来技術ってことでWin10では
あらたなことは行わないんじゃないのかな。
たしかGUIがWPFだよね。

746:デフォルトの名無しさん
18/05/09 04:43:48.03 EuvUccmD.net
ISE
VSCode
Visual Studio 2017
でPowerShell開発やってみたけど一番快適にDebugできるのはVSCodeだった

747:デフォルトの名無しさん
18/05/10 12:17:12.51 p0Nf4Eeh.net
実行ポリシーを変更をBypassに変更してるんだが
.ps1ファイルを実行しようとすると1日1回くらい(その日の最初?)は以下の文章が出る
出なくする方法ありますか?
実行ポリシーの変更
実行ポリシーは、信頼されていないスクリプトからの保護に役立ちます。実行ポリシーを変更すると、about_Execution_Policies
のヘルプ トピック (URLリンク(go.microsoft.com))
で説明されているセキュリティ上の危険にさらされる可能性があります。実行ポリシーを変更しますか?
[Y] はい(Y) [A] すべて続行(A) [N] いいえ(N) [L] すべて無視(L) [S] 中断(S) [?] ヘルプ (既定値は "N"):
ちなみにGet-ExecutionPolicyすると
ちゃんとBypassと表示される

748:デフォルトの名無しさん
18/05/10 21:32:31.45 RfBSBg1R.net
コンテキストメニューから実行してるなら、関連付け設定が
"C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" "-Command" "if((Get-ExecutionPolicy ) -ne 'AllSigned') { Set-ExecutionPolicy -Scope Process Bypass }; & '%1'"
になってるから、Set-ExecutionPolicy -Scope Process Bypass を実行するところでそれが出るんだと思う
関連付け設定を変えれば出てこなくなるよ

749:デフォルトの名無しさん
18/05/10 22:47:10.05 p0Nf4Eeh.net
ありがとう
"C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" "%1"に変えてみた
ついでにダブルクリックだけで実行できるように変えたら便利になった

750:デフォルトの名無しさん
18/05/23 08:17:44.44 fJ1IdiGY.net
csvの中に時間とデータの2列あって、それの直線近似した切片を取りたいんだけどアルゴリズム組まないとだめ?
なおエクセルは入ってないパソコンで使いたい。

751:デフォルトの名無しさん
18/05/23 12:32:03.51 p1Tm41m3.net
pythonでpandas+leastsquare

752:デフォルトの名無しさん
18/05/23 16:20:34.21 xYq3JC1R.net
>>720
単に公式に当てはめればいい
$data = import-csv "csvのパス" -Header X,Y
$meanX = $data.X | measure -Average | select -expand Average
$meanY = $data.Y | measure -Average | select -expand Average
$sd = $data | foreach { ($_.X - $meanX) * ($_.X - $meanX) } | measure -Average | select -expand Average
$cd = $data | foreach { ($_.X - $meanX) * ($_.Y - $meanY) } | measure -Average | select -expand Average
$slope = $cd / $sd
$meanY - $slope * $meanX

753:デフォルトの名無しさん
18/05/23 17:50:18.83 nRn5Zijg.net
>>720
Accord.Net使えばいいよ
それか今ならML.NETが良いのかね?

754:デフォルトの名無しさん
18/05/23 18:35:19.02 V6P0Rj+x.net
>>722
ありがとうございます。簡潔に書かれていてすごい。
>>721
pythonでも出来るのですが、エクセル含めソフトインストールできないPCでの運用なので

755:デフォルトの名無しさん
18/05/23 19:04:26.17 zdZwe3wq.net
そんな環境でなぜ線形回帰分析を?

756:デフォルトの名無しさん
18/05/23 19:19:58.76 PUSKgIep.net
エクセルも使えない環境で


757:データ分析なんて とんでもなく非効率だな 現実にはよくありそうな話だけど



758:デフォルトの名無しさん
18/05/23 19:26:40.12 Au5e7VGg.net
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
GWRI8

759:デフォルトの名無しさん
18/05/24 07:56:41.44 zQgi4Vqc.net
>>726
装置とそれを制御するソフトウェアが入った専用PCが連動して動く仕組みのシステムで、そのPCのデータをその中で処理したいと思ってて。
大型の装置で、もし誤作動を起こしたら火災や死亡事故もあり得るのでソフト導入は難しい状況。エクセルくらいは問題ないと思うんだけど、許可下りず。

760:デフォルトの名無しさん
18/05/24 09:57:30.14 fftgGS82.net
人命にかかわるならPowerShellでもだめだろ

761:デフォルトの名無しさん
18/05/24 12:22:12.99 6ROz+TzN.net
線形回帰分析のためだけにエクセルを導入しようとする高レベルVBAエンジニアさん命を握られてしまった従業員さん

762:デフォルトの名無しさん
18/05/24 13:10:55.11 dChwsR57.net
>>730
日本語で

763:デフォルトの名無しさん
18/05/24 18:11:34.30 CzEEKu6Z.net
今回だけじゃなくて別のデータ分析する
機会も出てくるかもしれないだろ
エクセルに限らずソフトがインストールできないんじゃ
いろいろ車輪の再発明することになりそう

764:デフォルトの名無しさん
18/05/24 18:17:30.66 5HLXkVSJ.net
そういう機会がなんども出てきてから検討すればいいよ
まあそうなったらエクセルじゃなくてデータ解析に適したツールを導入するべきだろうけどね
VBAerさんはとにかくVBAを使いたいって目的が先行するから困る

765:デフォルトの名無しさん
18/05/24 18:47:46.05 5HLXkVSJ.net
なんでもかんでも再発明が悪という風潮はよろしくない
少量の些細な再発明を避けるために大規模なソリューションを導入すると
そのソリューションの管理コストや障害リスクの方が高くなってしまう

766:デフォルトの名無しさん
18/05/24 18:52:23.87 YkaVpFZu.net
なんで制御PCと同じのでやろうとしてるのか?
そもそもwi

767:デフォルトの名無しさん
18/05/24 19:37:16.12 8RmhyhjF.net
そういう設定なんだなというのは皆わかった上でディスカッションしてる
なので野暮なツッコミは無しにしようや

768:デフォルトの名無しさん
18/05/24 19:58:22.10 HJmOkmLD.net
勉強とは再発明することだと思うんがなあ

769:デフォルトの名無しさん
18/05/24 21:09:40.32 zQgi4Vqc.net
>>735
今はデータをUSBで他のPCに移してから処理してる。
制御PCでやりたい理由は、USBはパスワード付きっていうのもあって面倒で、しかも常に最新の情報を求められるため日に数回USBで出し入れすることになるのでより面倒。
それが毎日となるとめちゃくちゃ面倒。
ということで不慣れなpowershell でやろうとした次第です。

770:デフォルトの名無しさん
18/05/24 22:23:06.92 A0AqRoYu.net
別PCでC#の解析用アセンブリ作ってPowerShellから呼び出したらいいんじゃないの

771:デフォルトの名無しさん
18/05/24 22:34:04.69 JOD0E1R+.net
ネットも禁止な所?

772:デフォルトの名無しさん
18/05/24 22:42:20.58 OVWSg8Eh.net
オフラインです。C♯は難しそうなので。
すみません、私事を語り過ぎました。元の話題に戻ってどうぞ

773:デフォルトの名無しさん
18/05/24 22:53:30.12 6yspu/tD.net
死亡事故が起こるようなマシンだろ
俺なら通常はネットから切り離しとくわ

774:デフォルトの名無しさん
18/05/25 02:05:25.85 gztHcn54.net
>>7


775:42 オフラインって書いてますやん



776:デフォルトの名無しさん
18/05/25 03:37:02.75 JRXZZDGl.net
会話がかみ合ってないな
頭悪そう

777:デフォルトの名無しさん
18/05/25 03:58:22.29 cDmsKy0H.net
いや現実の問題設定は良い刺激になったよ
そういうのないと同じ話題がループしちゃうし

778:デフォルトの名無しさん
18/05/25 06:29:46.18 zDcEhAN3.net
そのPCで処理しても結局USBで持っていかないと駄目なんじゃ

779:デフォルトの名無しさん
18/05/26 18:35:06.63 2fyQupuv.net
AddTypeでNuGet Packageを参照に追加できれば便利だと思うんだがなぜないんだろ
いちいちpackageダウンロードしてzip解答してdll探してAddTypeするの面倒くさい
AddType -PackageSource URLリンク(api.nuget.org) -PackageName Oracle.ManagedDataAccess -Version 12.2.1100
$connection = New-Object -TypeName Oracle.ManagedDataAccess.Client.OracleConnection
こんなんできたら絶対便利だろ

780:デフォルトの名無しさん
18/05/27 01:15:09.38 ek08JVnr.net
そういうコマンドレットを作ればいいんじゃないの

781:デフォルトの名無しさん
18/05/27 10:22:45.07 FRc1Igvs.net
こういうのは末端のユーザーじゃなくMicrosoftが責任持って整備すべき仕事だよなぁ

782:デフォルトの名無しさん
18/05/27 10:32:40.51 uKjxyzN7.net
>>747
Visual Studioだと全部やってくれるのにな

783:デフォルトの名無しさん
18/05/27 10:54:12.69 kiqwqKPT.net
URLリンク(www.powershellgallery.com)
この中にお望みの物ないの?
俺は調べてないけど

784:デフォルトの名無しさん
18/05/28 20:48:57.60 ANh8mcyB.net
csv読み込みのときに、♯が入ってる行が消えるのですが回避方法あるでしょうか?
バージョンは2のため、cat|convertfrom- csv を使っています。

785:デフォルトの名無しさん
18/05/29 10:01:43.76 JWI1PS/k.net
cat|♯を消す処理|convertfrom- csv

786:デフォルトの名無しさん
18/05/29 13:59:12.26 /wWb7+KW.net
半角井桁でも全角井桁でもなくシャープがダメ文字ってことなら、いわゆる機種依存文字に対して内部的に文字化けしてるのかね
Get-Contentの-Encodingパラメーターを変えて試行錯誤してみるのはどうだろ

787:デフォルトの名無しさん
18/05/29 20:04:16.63 uVfBdj0+.net
>>753
おっしゃる通りcat時点ではシャープのある行も問題なく表示されていたのでそこでシャープを適当な文字列に置換する事で回避出来ました。
なお文字化け等では無かったためencodingは関係ありませんでしたが、お二方ともアドバイスしていただきありがとうございました。

788:デフォルトの名無しさん
18/05/29 21:24:14.97 NIS7bYGB.net
csvでシャープで始まる行はコメントとみなされる

789:デフォルトの名無しさん
18/05/29 21:48:09.49 JDVJC7kx.net
C#をAddTypeする#だけに

790:デフォルトの名無しさん
18/05/29 22:37:29.79 DjF05HP4.net
>>756
そんな仕様初めて聞いた
Excelは#で始まる行も読み込むよ

791:デフォルトの名無しさん
18/05/29 23:17:16.03 uVfBdj0+.net
>>756
そういう仕様なんだね。
プログラム内じゃないんだから勝手にコメントアウトしないで欲しい

792:デフォルトの名無しさん
18/05/30 01:59:47.06 yjZg0US2.net
RFCではCSVのコメントなんて定義されてないんだがな
#がコメントとか方言です

793:デフォルトの名無しさん
18/05/30 07:47:42.04 fRdW4Y4e.net
「♯を含む行」が消えるって言ってるんだから、実は「#で始まる行」が消えてた、なんてことは流石にないでしょう

794:デフォルトの名無しさん
18/05/30 08:14:02.91 fRdW4Y4e.net
と思って検証したらマジじゃねーかバーロー
v2では使えないけどcat -raw|convertfrom-csvなら無視されな�


795:ュなるから、#がCSVコメントとして無視されてるのではなくて、#をコメント行相当のオブジェクトとして返しているGet-Content側がタチ悪いという話じゃないだろうか



796:デフォルトの名無しさん
18/05/30 10:30:58.30 962OkqnQ.net
" で囲んだら大丈夫とか?

797:デフォルトの名無しさん
18/05/30 22:12:34.15 8qi2Khqy.net
PCに入ってるPowerShellのバージョンを簡単に切り替える方法はないのでしょうか?
作成したスクリプトがバージョン2でも3でも動くか等の検証を行いたいのですが?

798:デフォルトの名無しさん
18/05/30 22:36:17.40 JXGp/YkD.net
旧バージョン互換で動かすオプションあった気がする

799:デフォルトの名無しさん
18/05/31 17:20:46.88 ZTEAvdsG.net
そのCSV は各列を、" " で囲んでないのか?

800:デフォルトの名無しさん
18/05/31 21:31:21.76 3wC9yI4G.net
Windows PowerShell 2.0 エンジンの開始
URLリンク(docs.microsoft.com)

801:デフォルトの名無しさん
18/06/01 19:12:06.06 j/MM0qyt.net
ISEがインテリセンス使ったら落ちてたのが
KB4100403で修正されたらしい(未確認)

802:デフォルトの名無しさん
18/06/04 18:18:51.32 duSCMV5/.net
エクセルに書き込む時、例えば
for(i=1; -le 1000;i++){
sheet.cells.item(i,1)=i*5

こんな感じにすると非常に動作が遅いのですがもっと高速にする方法はあるでしょうか。
なおvbaでは、
for i=1 to 1000
arr(i,1)=i*5
next
と配列に入れておいてから、
oSheet.Range(oSheet.Cells(1, 1), oSheet.Cells(UBound(arr, 1), UBound(arr, 2))) = arr
と一括で書き込むと速いのですが、PSでもこのような書き方はあるでしょうか。

803:デフォルトの名無しさん
18/06/04 19:50:56.49 gQR1ea5z.net
>>769
速いかは知らんけどそれと同じようにするならこんな感じかね
$n = 1000
$arr = New-Object "object[,]" $n,1
1..$n | foreach { $arr[($_-1),0] = [int]$_*5 }
$sheet.Range($sheet.Cells.Item(1, 1), $sheet.Cells.Item($n, 1)) = $arr

804:デフォルトの名無しさん
18/06/04 23:24:00.90 OF0qTMZ9.net
>>770
ありがとうございます。多次元配列を使えばよいのですね。
webで調べると多次元配列と多段階配列(ジャグ配列)がごっちゃになってるサイトもあって混乱していましたが、770さんの簡潔な記述をみて理解出来ました。

805:デフォルトの名無しさん
18/06/06 23:07:10.85 N8yiaTQz.net
gradle的なタスクランナーDSLは無いの?

806:デフォルトの名無しさん
18/06/09 16:51:36.72 XSSJlv/Q.net
PowershellからExcelのユーザフォーム(コマンドボタン)を非表示かクリックできないようにしたいのですが、いくつか試してもうまく設定できませんでした。
ご存知の方がいたら、ご教示いただければ。

807:デフォルトの名無しさん
18/06/09 17:03:33.87 Tjb3C0On.net
試したコードを晒せば修正してあげるよ^^

808:デフォルトの名無しさん
18/06/09 18:02:05.59 54mp5fzV.net
>>773
別のインスタンスからフォームを操作するってこと?
参考にVBAだとどうやるの?

809:773
18/06/11 12:16:46.97 vpJG/a5Y.net
以下で動くことは確認しましたが、できたらPowershellだけで完結したいです。
$excel = New-Object -ComObject Excel.Application;
$book = $excel.Workbooks.Open('~ファイル名~');
$num1 = $excel.Worksheets.count ;
$array = @() ;
for ( $i1 = 1 ; $i1 -le $num1 ; $i1++ ){ ;
if ( $excel.Worksheets.Item($i1).name.substring( 0, 4 ) -eq 'xxx_' ) { ;
$array += $excel.Worksheets.Item($i1).name ;
} ;
} ;
for( $i2=0; $i2 -lt $array.count; $i2++){ ;
$shtname = $array[$array.count-$i2-1] ;
$MDB_index = $excel.Worksheets.Item('MDB').index ;
$excel.Worksheets.Item($shtname).move( $excel.Worksheets.Item( $MDB_index ) ) ;
$excel.Worksheets.Item('MDB').move( $excel.Worksheets.Item( $shtname ) ) ;
$excel.Worksheets.Item($shtname).name = 'yy_' + $shtname.substring( 4, $shtname.length - 4 ) ;
} ;
$excel.run("Unable")

810:773
18/06/11 12:17:21.17 vpJG/a5Y.net
* VBAのUnableの中身 ;
Sub Unable()
Dim SHTNAME As String
Dim NUMBER As Integer
Dim I1 As Integer
NUMBER = ThisWorkbook.Worksheets.Count
For I1 = 1 To NUMBER
SHTNAME = ThisWorkbook.Worksheets(I1).Name
If Mid(SHTNAME, 1, 3) = "yy_" Then
ThisWorkbook.Worksheets(I1).CBT1.Enabled = False
End If
Next
End Sub

811:デフォルトの名無しさん
18/06/11 23:51:03.62 gcU8d3qp.net
>>776
xxx_のシートをMDBの後ろに並べたいってことでいいんかね?
$book.Sheets[$book.Sheets.Count..1] | where { $_.name -like "xxx_*" } | foreach {
$_.move([Reflection.Missing]::Value, $book.Sheets("MDB"))
$_.name = $_.name -replace "^xxx_","yy_"
$_.OLEObjects("CBT1").Enabled = $false
}

812:773
18/06/12 12:30:53.64 ekyc4Iri.net
>>778
VBAに依存せず実行できました。感謝。

813:デフォルトの名無しさん
18/06/21 19:07:26.37 K/kbKit1.net
windows10ですが
Get-ItemPropertyでLastWriteTimeを見てみると
エクスプローラで表示される更新日時と異なるファイルが有りました
更新日時の方が作成日時より前の日付になってるので
おそらく LastWriteTimeの方が正しい日付だと思います
これを訂正するためにPSからエクスプローラの更新日付を取得したいのですが
エクスプローラの更新日時がどこから来ているものかさっぱりわかりません

814:デフォルトの名無しさん
18/06/21 19:25:07.20 UNnnYLs6.net
Utc?

815:780
18/06/21 20:21:17.18 K/kbKit1.net
いくつかファイルを調べてみると、更新日時とLastWriteTimeの差が一週間離れているのも有るので
タイムゾーンの問題とは考えにくいです
よく見ると、作成日時もCreationTimeと10日くらいのずれが有りましたw
エクスプローラが詳細プロパティ以外の日付を参照してる意味が分かりません
windowsの強制メジャーアップデートで何度かクラッシュした影響でファイルが壊れてるのかも

816:デフォルトの名無しさん
18/06/23 00:44:45.99 Ut6U9K8s.net
代替データストリームじゃね?

817:デフォルトの名無しさん
18/07/04 22:21:13.01 gFgZc5FG.net
JBF

818:デフォルトの名無しさん
18/07/04 23:23:31.98 acN7B5+I.net
なんでこんなに過疎ってるんですか

819:デフォルトの名無しさん
18/07/05 22:43:24.58 KzEq2oHL.net
「書き込みがあったら反応しよう」と思ってる人がたくさんいるからかな?

820:デフォルトの名無しさん
18/07/08 03:18:34.99 3ZrH1Hyw.net
わしはね、ローカルの小物guiでps始めよう思ってたらhtaというものを発見してしまったんじゃ

821:デフォルトの名無しさん
18/07/08 04:04:12.13 UfjkVwX1.net
失われた古代技術

822:デフォルトの名無しさん
18/07/14 21:56:02.39 RVDUVOmY.net
若者が「HTAって使えるんじゃね?」と思ってしまうのは仕方がない。
オッサン~ジジイが「HTAを発見した」つったら「今まで何して生きてきたの?」としか言いようがない。
Windowsでのローカルの小物GUIは、今、滅亡の危機ですらある。
WordやExcelを使った自動化すら、今後もできるかどうか怪しい。

823:デフォルトの名無しさん
18/07/14 22:29:26.95 Lxo


824:RiW+E.net



825:デフォルトの名無しさん
18/07/14 22:38:50.55 utl6Xayz.net
ローカルの小物GUIってなんだよ

826:デフォルトの名無しさん
18/07/14 22:50:10.64 P6K2NPR4.net
GUI付のしょうもないアプリ

827:デフォルトの名無しさん
18/07/14 23:12:51.46 RVDUVOmY.net
ローカル実行できるスクリプトで動くGUIアプリに決まってるだろ。
Excel や Access の VBA がその代表格。
COM がベースだから切られる方向なのは分かる。
でも代替できるものがない。
いっとき PowerShell+WPF が期待を担ったが…
・呼ばれる側のアプリにコマンドレットの実装が必要
・.NET ごとオープンソースの世界に行ってしまって Windows そのものが切られそう
・そういうのは C# で書いて配れ、と明示的に言ってくれた方がまだ楽。
が、MS はダンマリを決め込んでいるんだよなぁ…

828:デフォルトの名無しさん
18/07/15 00:32:04.05 X2092vNg.net
>>791
なんなんでしょうね

829:デフォルトの名無しさん
18/07/15 01:35:23.34 0pMWk4zA.net
>>793
>COM がベースだから切られる方向なのは分かる。
>でも代替できるものがない。
よく調べてないんだけどVisual Studio Tools for Officeとかはダメ?

830:デフォルトの名無しさん
18/07/15 01:35:37.01 SEkGxxwq.net
powershell入ってないXP以下で使えるんすよ
判ってくださいよ

831:デフォルトの名無しさん
18/07/16 21:11:22.99 HqjsUdw9.net
とりあえず、PowerShellが「最強CUI」とかいう寝言は取り下げた方がいい。誤解を招く。

832:デフォルトの名無しさん
18/07/16 21:19:57.77 Qq5myI16.net
はいはい、しゅごいでちゅねー

833:デフォルトの名無しさん
18/07/16 21:42:32.84 h7LXYR/p.net
最強だが。
ただ使っている人は少ない。

834:デフォルトの名無しさん
18/07/16 21:51:20.37 XBIjWYki.net
>>797
誤解してるのはお前だけだからお前がどっかに行けば解決

835:デフォルトの名無しさん
18/07/17 23:10:59.27 yoTx9oxy.net
>>798-800
管理目的なら最強だろう。確かに。
が、それ以外の目的にはおおよそ優しくない。てゆーか元の開発陣がそう言ってる(管理目的、API指向)。
OSSになったから 6以降も(3でもやったけど…)破壊的な仕様変更をゴリゴリやりそう。
特に PowerShell Desktop は今後バージョンアップは無さげだから、管理系以外の Win系のユーザーは手を出す理由がない。
Win系ですら 「引き継ぎを考えたら VBScript で書いておこうか…」てなる。
WPF は死亡寸前だし。
Winユーザーはバッチや VBScript の後継としての役目を捨てようとしている PowerShell に文句を言う筋合いはあると思うがね。
純粋な対話型CUI の最強は bash系列だし。
何言ってんの??
どこがどう最強なのか言って欲しいわ。
特に、Office系の自動化なんて COMオブジェクトに頼らないと無理だろ。
PowerShell で書くといちいち Excel のセルですらリソース開放が必要でクソ面倒。
Set objExcel = Nothing
とサクッと書けるほうがいいに決まっている。
PowerShell は万能じゃねーんだよ!馬鹿ども。

836:デフォルトの名無しさん
18/07/17 23:14:01.71 fhQFSH5P.net
>>801
管理目的とは?

837:デフォルトの名無しさん
18/07/17 23:20:39.18 fwrxWQ2y.net
C#erだから.NETライブラリがそのまま使えるPowerShell好きだわ

838:デフォルトの名無しさん
18/07/17 23:25:15.93 fhQFSH5P.net
>>803
どんな用途で使ってる?

839:デフォルトの名無しさん
18/07/17 23:32:27.62 fwrxWQ2y.net
>>804
最近作ったのはCのヘッダーからC#ラッパー生成するやつ

840:デフォルトの名無しさん
18/07/18 12:45:25.76 xS6rtIKl.net
vbsからps


841:をキックする



842:デフォルトの名無しさん
18/07/19 23:44:42.87 puBIzWD6.net
>>806
生理的に嫌すぎる

843:デフォルトの名無しさん
18/07/22 13:00:02.17 ZN+SAgqe.net
VBAスレに来てるPowerShellゴミクズ荒し何なの?
PowerShellの工夫はより良くするための工夫でVBAの工夫は欠陥を補う工夫って、どのロで言うんだろうね。
VBAだとソース管理出来ないというから、ソース抜き出してソース管理ツールに渡すのはダメという意味なんだろうけど、その割にPowerShellだとVisualStudioと連携できるとか言い出すダブスタ。
PowerShellでC#コンパイル出来るとか、バカ丸出し。
csc使うんだったら何だって出来るだろう。
コイツがムカつくのはそういう工夫を全て否定する所。
それを否定するならPowerShellだってゴミクズだろう。
そういう工夫こそが大事なのに。

844:デフォルトの名無しさん
18/07/22 13:30:20.53 FoHjHQaV.net
スクリプトなんて適材適所で何使ったっていい
他人がなんかいちゃもん付けてきたら、
「こいつ初心者で一時的に心酔してバカ発言してるんだな、
 あと数ヶ月もすればこのときのことを思い出して恥ずかしさにそこらへんを転げまわるんだろうな」
程度に気の毒がってりゃいいさ

845:デフォルトの名無しさん
18/07/22 13:32:06.23 G9t5vsVs.net
エクセルなんて要らん工夫して紙と電卓を使いこなせば事務作業はできる
会社に支給されたパソコンを目の前置いて、こう主張するおじいさんが居たらどう思う?
馬鹿だねーエクセルなんて簡単なのになんで電卓使うの?
社員ならエクセル使っていいのになんで?
そう思わないかな?
もし思わないなら根本的に感覚がズレてるので同意を得るのは難しいと思うよ

846:デフォルトの名無しさん
18/07/22 13:33:43.75 /fuF+goF.net
つかわざわざこっちにきて何がしたいん?
そいつに言えばいいやん
お前もゴミだろう

847:デフォルトの名無しさん
18/07/22 13:35:02.58 G9t5vsVs.net
>>811
ことごとく論破されたので逃げてきたんだろう

848:デフォルトの名無しさん
18/07/22 14:06:13.49 YGqHpPTt.net
>>811
VBAのスレが荒れるのが嫌だからでしょ
考えたらわかるじゃんw 脳みそあるの?

849:デフォルトの名無しさん
18/07/22 14:07:05.72 YGqHpPTt.net
>>812
PowerShellユーザが迷惑かけてるんだから
スレとしての責任が問われてる

850:デフォルトの名無しさん
18/07/22 14:07:45.01 ZN+SAgqe.net
散々論破しているのに最後まで居座られて迷惑してスレが終わったからだよ。
そしてPowerShellの立場はExcelと被るわけでどっちも適材適所だろ。
その場に合ったのを使えば良いんだ。
奴は自分がPowerShellを貶めてるのに気付いて無い。

851:デフォルトの名無しさん
18/07/22 14:15:13.20 /fuF+goF.net
責任とって立ててきてやったぞ
存分にレスバを楽しんでくれ
Excel VBA 質問スレ Part55
スレリンク(tech板)

852:デフォルトの名無しさん
18/07/22 14:16:06.18 WPYgWuMH.net
読んできた
Rubyキチが紛れてるのが無理矢理すぎて笑える

853:デフォルトの名無しさん
18/07/22 14:17:54.05 YGqHpPTt.net
>>816
馬鹿野郎、てめんとこの人間が迷惑かけてんだから
うちの者がご迷惑おかけして申し訳ありません
と謝罪するのが筋だろうが

854:デフォルトの名無しさん
18/07/22 14:19:08.41 YGqHpPTt.net
ほんとPowerShellは他人に迷惑かけてバッカやな
ほんまクズやな、PowerShellのせいやろな

855:デフォルトの名無しさん
18/07/22 14:20:41.76 /fuF+goF.net
照れんなよ
立ててくれてうれしいんだろ

856:デフォルトの名無しさん
18/07/22 14:23:23.96 YGqHpPTt.net
行動は早いけど間違ってる人っているよね

857:デフォルトの名無しさん
18/07/22 14:24:51.70 1tw3f2DK.net
オマエやんそれ
レスは早いがトンチン�


858:Jン



859:デフォルトの名無しさん
18/07/22 14:26:02.34 YGqHpPTt.net
>>822
ぼくは何も行動してないからね、完全に無害だけど
スレ立てしちゃった人がいるんだよ、ぼくはその人を知ってるんだ

860:デフォルトの名無しさん
18/07/22 14:26:31.77 YGqHpPTt.net
>>816
こいつです、こいつVBAのスレを立てやがりました

861:デフォルトの名無しさん
18/07/22 14:27:18.37 /fuF+goF.net
褒めすぎんなよ
当然のことをしたまでよ

862:デフォルトの名無しさん
18/07/22 14:27:57.35 YGqHpPTt.net
自分がどれだけ悪いことをしたのかについてもわかってないと思います
頭の悪い人っているんだなって思いました

863:デフォルトの名無しさん
18/07/22 14:28:40.17 YGqHpPTt.net
URLリンク(pbs.twimg.com)

864:デフォルトの名無しさん
18/07/22 14:30:32.96 YGqHpPTt.net
自発的に間違った行動をとる組織にとってのガン細胞が確認されました

865:デフォルトの名無しさん
18/07/22 14:30:55.52 YGqHpPTt.net
>>816 こいつガンです

866:デフォルトの名無しさん
18/07/22 14:31:21.33 YGqHpPTt.net
ガン、お前だったのか!?

867:デフォルトの名無しさん
18/07/22 14:31:43.01 YGqHpPTt.net
大造じいさんとガン

868:デフォルトの名無しさん
18/07/22 14:33:56.27 YGqHpPTt.net
なんでVBAのスレ立ててもうたんや
何してくれてんのや
PowerShellユーザが言い訳できないレベルで
全面的に悪いことになってまうやろ

869:デフォルトの名無しさん
18/07/22 14:35:11.72 YGqHpPTt.net
なんでや!?なんでやねん!なんでスレ立ててもうたんや!!
なんでもっと冷静に行動でけへんねん
スレ立てたら済むと思ったんか?
なに考えてんねん

870:デフォルトの名無しさん
18/07/22 14:36:13.45 YGqHpPTt.net
なんでこんな前例を作ってしまったんや
この過ちはPowerShellの後世に禍根を残すで

871:デフォルトの名無しさん
18/07/22 14:37:09.12 YGqHpPTt.net
>>831
大造じいさん「ぐぅぅ、わしはもうだめや・・・」

872:デフォルトの名無しさん
18/07/22 14:39:37.19 YGqHpPTt.net
さて、残念なことが起きました
この中にVBAのスレを立てた人がいます
正直に手を挙げてください

873:デフォルトの名無しさん
18/07/22 14:39:55.36 YGqHpPTt.net
>>816
お前や!!!

874:デフォルトの名無しさん
18/07/22 15:07:12.23 JJRFMnGG.net
いくら何でもこれはないわ。
どっちがよりクズかって言ったら断然VBA住人だろう。
PowerShell -Part 3
スレリンク(tech板)

875:デフォルトの名無しさん
18/07/22 16:11:00.92 YGqHpPTt.net
>>838
スレ立ててやったんやから感謝せえや

876:デフォルトの名無しさん
18/07/22 16:11:26.61 YGqHpPTt.net
当然のことをしたまでよ
照れんなよ

877:デフォルトの名無しさん
18/07/22 18:26:14.28 JJRFMnGG.net
>>839
ずいぶん可愛そうな環境で育ったんだな。同情するよ、ごめんな。

878:デフォルトの名無しさん
18/07/24 20:42:16.15 cNxRMkIk.net
>>808
> PowerShellでC#コンパイル出来るとか、バカ丸出し。
残念ながらそんな昭和脳レベルの話じゃないんだな w
URLリンク(yomon.hatenablog.com)スクリプト内でC%23コードを書いて使う

879:デフォルトの名無しさん
18/07/25 21:13:55.37 Yq3sixxb.net
Powershellのコマンドを使ってあるEXEを管理者権限で起動することって出来ないでしょうか?
いちいちEXEのショートカットを作って「管理者として実行」にチェックするのが面倒なので・・・
あ、OSはWin7です。

880:デフォルトの名無しさん
18/07/25 21:15:04.89 Yq3sixxb.net
↑OSはWin10でした。すみません。

881:デフォルトの名無しさん
18/07/25 21:41:07.86 ep37fxti.net
start hoge.exe -Verb runas

882:デフォルトの名無しさん
18/07/25 23:07:01.78 GlwT5bgj.net
>>842
あんまり、荒らすつもりは無いけどそれはダメダメだね。
というか、その昔俺もその手法使ってたし。
俺の書いたPS1ファイルのタイムスタンプを見ると2011年だからその記事より前だな。
あのね、何でC#のソースを動かさなきゃならんの?
そういう場面が有るとすればPowerShellだけで出来ないことをしようとする場合だろ。
つまり工夫で乗りきろうとしている場合なんだからVBAのスレを荒らしてた奴風に言わせればC#のソースを書かなきゃならん時点でPowerShellはゴミってことになるのよ。

883:デフォルトの名無しさん
18/07/26 00:24:48.95 xTcDuoaq.net
VBA内でC#のクラス定義してそのままVBA内で使えるようになってから�


884:o直してこい 何をするにも不合理に手間がかかるからVBAは糞だって言ってんだよ



885:デフォルトの名無しさん
18/07/26 00:32:39.24 A133ONF8.net
なんで既存のソース活用するのにcscだの別プロセスだの大げさなことしないといかんの?
.NETがあるのになんで態々COMだのwinAPIだの直で触らなあかんの?
っていう人間なので問題なしです

886:デフォルトの名無しさん
18/07/26 06:27:07.99 gfIbAgn/.net
>>847
でもPowerShellは激遅ですよ

887:デフォルトの名無しさん
18/07/26 06:40:44.04 /8jtV8/F.net
>>846
> そういう場面が有るとすればPowerShellだけで出来ないことをしようとする場合だろ。
バカなの?
・C#のほうが楽に書ける
・既存のコードが流用できる
とかあるだろ

888:デフォルトの名無しさん
18/07/26 08:08:40.25 OM9s1u3H.net
>>847
PowerShellだって不合理じゃねーか。
お前は都合の良いところばかり言う。
Excelブック1ファイルで完結できるようになってから出直しな。
>>850
同じことだ。
欠点を工夫で乗りきっているわけだから。

889:デフォルトの名無しさん
18/07/26 08:42:02.44 xTcDuoaq.net
工夫の簡単さがVBAとはダンチなんですが

890:デフォルトの名無しさん
18/07/26 09:04:14.03 EgEPuxK9.net
はるほど、ExcelVBAスレで暴れてた奴今度はこっちに来てたのか…

891:デフォルトの名無しさん
18/07/26 12:12:12.02 /8jtV8/F.net
>>851
どこが同じなんだよ w
> 出来ないことをしようとする

> 楽に書ける
> 流用できる

892:デフォルトの名無しさん
18/07/26 12:49:19.43 OM9s1u3H.net
>>854
出来ないことをしようとする。
←C#のコ―ドをそのままC#でコンパイルして、出来たプログラムを動かす。
出来ないことをしようとする。
←コンパイル済みのプログラムを高速に動かす。
出来ないことをしようとする。
←VisualStudioでGUIのデザインをする。
出来ないことをしようとする。
←面倒なことをPowerShell単体で実現する。
な、一緒だろ。

893:デフォルトの名無しさん
18/07/26 13:38:54.60 l6m81nf0.net
相変わらず日本語が通じない

894:デフォルトの名無しさん
18/07/26 14:42:38.06 /8jtV8/F.net
もう引っ込みつかなくなって意味不明なことを語りだしたか w

895:デフォルトの名無しさん
18/07/26 14:55:36.09 pqw8jMOd.net
PoshもVBAも
同じMS製品なんだから
ケンカすんなよ

896:デフォルトの名無しさん
18/07/26 18:46:55.24 BBodZQOS.net
VBAはMSの暗黒面だから一緒にしないでほしい

897:デフォルトの名無しさん
18/07/26 19:03:10.56 OM9s1u3H.net
日本語が通じないのはお互い様だろ。
C#に比較して楽に書けて無いだろ。
つまりC#を元に考えればゴミということになる。
別途VSCodeとかを入れるのは面倒じゃ無いのか?
C#のコード部品にもインテリセンスが効くのか?
楽だとすればそれはC#のことでPowerShellは文字列変数にコード入れなきゃならん。
そして文字列をC#のコードとして動かす為にもAdd-Type呼び出すなどと面倒なことをしなきゃならん。

898:デフォルトの名無しさん
18/07/26 20:41:15.58 T4rU0dQ5.net
>>860
まったくもってその通りで C#>PowerSell だよ
もっと書くと
C# > PowerSell >>>>>>>>> VBA
だけど
なんで唐突にC#と比べはじめちゃったの?

899:デフォルトの名無しさん
18/07/26 20:43:42.29 5d1EUyas.net
向こうでもVSCodeやらIDE入れたら~ってレスしてるやついるけどさ
VBAを主に使うのは事務屋

事務の職場は(開発系と違って)外部ソフトの導入を渋られる所が多い

結局Windows付属の
・VBA
・VBS
・cmd
・PowerShell
しか使えない

エクセルにあまり関わらない処理はPowerShellでやってもいいんじゃね
って感じだと思うの
(というか、現にウチがこれ)
この、VBA(VB6)かPowerShell「しか」手段がない前提で行けば、
C#のソース読み込むとか多少歪んだ使い方だとしてもVBAよりPowerShellを使いたくなる時があるのは理解できるだろ?
もちろんVBAもバリバリ使ってるけどな
なんでどちらかだけしか使う価値がない!!!みたいな話になってんだろ

900:デフォルトの名無しさん
18/07/26 21:19:35.67 xTcDuoaq.net
マクラーは何でもかんでもVBAでやりたがるから

901:デフォルトの名無しさん
18/07/26 23:53:09.37 8XjexWHE.net
Add-Typeはメタプログラミングするときに便利

902:デフォルトの名無しさん
18/07/26 23:56:00.76 OM9s1u3H.net
>>862
逆の話でね、こっちはず―っとそういうことを言ってるの。
その度にPowerShellしか価値が無いと言われてるんだよ。
ず―っと適材適所と言ってる。

903:デフォルトの名無しさん
18/07/27 00:00:29.39 /pOg/k3/.net
>>865
VBAでスクレイピングだとか1ファイルで完結とか言っといて適材適所を主張してます!は頭おかしいんじゃねえの?

904:デフォルトの名無しさん
18/07/27 00:03:25.35 hpcoy/E6.net
>>861
全くその通りじゃね―んだよ。
VisualStudioが入って無い、もしくは入れられない環境ではC#は意味がねえ。
だから適材適所なんだよ。
大体、PowerShellがVBAに勝てるわけねえんだよ。
VBAが使われる環境ではVBA>>>PowerShellだし。
PowerEellが使われる環境ではPowerShell>>>VBAだろう。
噛み合わねえんだよ。

905:デフォルトの名無しさん
18/07/27 00:06:37.08 hpcoy/E6.net
>>866
1ファイルになるのはExcelの環境だからだろ。
そういう土俵(環境)なんだからVBAが有利なのは仕方無いだろ。
スクレイピングもExcelブックにデータを展開するのが前提だぞ。
そうじゃなかったらVBAでやるべきじゃない。

906:デフォルトの名無しさん
18/07/27 00:13:06.60 hpcoy/E6.net
汎用的な開発だったら何でVBAでやるんだよ。
そりゃアホだろ。
VBAの議論をするならExcelの環境が大前提なんだから他の言語はそれに合わせなければならない。
だから他言語は不利になるのあたり前の話。
こういう話は当然PowerShellにもあるわけで、だから適材適所なわけ。

907:デフォルトの名無しさん
18/07/27 01:27:22.29 /pOg/k3/.net
>>867
噛み合わないのはお前の理解力と日本語能力のせいでは??
正直なんでいきなり演説かましてんだこいつって感じだぞ

908:デフォルトの名無しさん
18/07/27 06:29:32.02 Z7cB5M3n.net
1ファイルになるのがメリットみたいな言い分が謎
逆にデメリットだろそれは
ファイル分けて管理したほうが開発しやすいだろ常識的に考えて
最終的に配布を1ファイルにしたいならJSみたいにバンドルすりゃいいだけだし
なんならワンライナーのオンラインインストーラーでもいい

909:デフォルトの名無しさん
18/07/27 06:40:59.87 uuBPM4V2.net
>>871
> ファイル分けて管理したほうが開発しやすいだろ常識的に考えて
それは開発側の都合でしかない
そんな事を意識しない利用者にとっては単一ファイルの方がいいのは当たり前
> なんならワンライナーのオンラインインストーラーでもいい
インストールとかバカすぎる w

910:デフォルトの名無しさん
18/07/27 06:58:14.44 1B0+N/X4.net
ちっちゃな事で荒れるな。
IT土方同士仲良くしろ。

911:デフォルトの名無しさん
18/07/27 07:22:54.24 Z7cB5M3n.net
>>872
脊髄反射でレスしないで読んでから返せない?
ユーザー都合で1ファイルがいいなら、1ファイルにバンドルすりゃいいだろ、って読めなかった?
インストールがダメってのも意味不明だな
ユーザー目線ならそれこそ何ファイルだろうがツールとして使えれば良いのだから、インストールスクリプトは有力な選択肢になる
1ファイルが良いってのもそもそもお前の思い込みでしかなくて、世の中には複数ファイルのツールのほうが遥かに多く、利用されてる
ユーザーは結果として簡単に使えればそんなことは気にしないんだよ

912:デフォルトの名無しさん
18/07/27 08:02:02.45 uuBPM4V2.net
>>874
VBAでバンドルとやらをどうやるつもりなのか書いてみ
> ユーザーは結果として簡単に使えれば
って豪語するんだから今のExcelファイル単体並に簡単に使えるんだよな w

913:デフォルトの名無しさん
18/07/27 08:14:39.55 hpcoy/E6.net
>>874
1ファイルにバンドル?
ExcelブックにPS1をバンドルしてどうするんだ?
個別に動かすの?
それじゃ1ファイルの意味ねーだろ。
第一、VBAは面倒とか言ってたのにそういう面倒なことするの?
Excelブックを渡した相手に余計な何かをインストールさせるのか。
VBAならそんなこと丸っきり必要ないのに。
インストールしなくても同じことが出来るならインストールしな�


914:ォゃならんのはどう見てもデメリット。 世の中はExcelブックと他に何か別のファイルを持ち歩くのが遥かに多いとか、バカ過ぎるだろ。 ユーザーは簡単に使えれば中のコードがどうとか何の言語とかは優先度が低い。 Excelが前提のVBA批判をしてる自覚ある? 世の中には複数ファイルのツールってExcelの何? なんか、ひとりよがりに感じるな。



915:デフォルトの名無しさん
18/07/27 08:58:29.44 5SOHwwXD.net
適材適所とか言っておいてこれだよ
どんな場所でもVBAが適材になると思ってるらしい

916:デフォルトの名無しさん
18/07/27 11:09:47.17 t79VcJbD.net
Excelの場合はVBAは適材と読めるけど

917:デフォルトの名無しさん
18/07/27 12:06:33.39 9o30Opw+.net
日本語が通じないのが一番困るねぇ
なんでエクセルにpsをバンドルするって話にすり変わってんだよ
開発は複数のPs1でやって配布は1つのps1にバンドルしてやるって話だろが

918:デフォルトの名無しさん
18/07/27 12:06:57.97 wTR8C+Yu.net
excel自体が適材じゃないから
ありとあらゆるものがexcelだから

919:デフォルトの名無しさん
18/07/27 12:15:36.26 9o30Opw+.net
ファイル渡すだけ
インストールワンライナーをコピペしてシェル叩くだけ
あるいは1つのインストールスクリプトをダウンロードして実行するだけ
どっちも初回の手間は大して変わらんだろう
でも、エクセルファイル渡しは後々のバージョン管理で混乱するから、総合的に見てインストールのほうが楽だね

920:デフォルトの名無しさん
18/07/27 12:18:56.01 9o30Opw+.net
エクセルは他のもの要らないんだー

見つからない参照

鉄板あるあるネタwww

psはライブラリなければセントラルリポジトリからとってくるだけなのでこんなアホな目に合わんで済む

921:デフォルトの名無しさん
18/07/27 12:26:36.44 2qIHcbej.net
ライブラリなんて使うからそうなる
全部自分で1から書き上げるか、歴史ある秘伝の自作ソースをコピペすれば事足りる
工夫で乗り切れるのだ


らしいっすよ?

922:デフォルトの名無しさん
18/07/27 12:44:53.66 hpcoy/E6.net
>>877
だから話の流れを読め。
Excel限定のVBAの話から始まっている。
どんな場所でもでは無い。
Excel限定だ。
元々の>>871が既にExcel限定を考慮せずにおかしなことになってる。
>>878
そうとも限らない場合もあるけど基本的にはその通り。
それに対してどんな場合でもVBAはダメっていう主張が有って、VBA側はそれに反論してる。

923:デフォルトの名無しさん
18/07/27 12:47:15.71 hpcoy/E6.net
>>881
その手間が既に面倒くさいだろ。
しかもブック開いてるのに別スクリプトも動かすのか?
めんどうだわ。

924:デフォルトの名無しさん
18/07/27 12:51:06.22 hpcoy/E6.net
>>882
そもそも基本的にMicrosoft謹製以外は使用NGが普通だぞ。
ライブラリのコードを全て把握してるとか自社で作成したものなら別だが。

925:デフォルトの名無しさん
18/07/27 13:10:58.41 2qIHcbej.net
>>885
Excelにくっついてくるソルバーアドイン使うのでさえ
オプションクリックしてアドインクリックして有効なアドインクリックしてチェックボックスクリックして…
とかやるのよりよっぽど簡単

926:デフォルトの名無しさん
18/07/27 18:25:06.09 hpcoy/E6.net
>>887
???
既にそんな設定は済んでいるが。

927:デフォルトの名無しさん
18/07/27 18:29:23.81 HpMLTKup.net
>>884
Excelありきの話ならVBAスレでバトルしてこい
ここはPowerShellスレでPowerShellはなんでもできるオールラウンダーだ
PSerは心が広いからExcelコントロールの話をするなということはない
だがExcelの話題で縛れというなら流石に付き合う理由はない
繰り返す
Excelありきの話ならVBAスレで


928:やれ



929:デフォルトの名無しさん
18/07/27 18:34:48.47 hpcoy/E6.net
>>889
そうなんだよな。
本当は長居するつもりも無かったんだが
頓珍漢なレスが多くて反応して今に至ってる。

930:デフォルトの名無しさん
18/07/27 18:37:15.79 hpcoy/E6.net
元々VBAスレがPowerShell信者に荒らされてな。
そのままスレが最後までいって次が立つまでの間にこっちに書いたらこうなった。

931:デフォルトの名無しさん
18/07/27 20:52:54.00 /pOg/k3/.net
>>888
お前が済んでたらファイル渡されたユーザーも参照できんのかよ

932:デフォルトの名無しさん
18/08/01 09:22:45.41 LkPgJ43O.net
v6.0.3 Release of PowerShell Core
URLリンク(github.com)

933:デフォルトの名無しさん
18/08/05 15:25:02.08 iWriYPq8.net
C#は.NET無い環境だとブレークポイントで止めながらデバッグとか出来ないってことでいいのでしょうか?

934:デフォルトの名無しさん
18/08/05 16:13:15.95 8pU3W85Z.net
>>894
.NET無いってどういうこと?

935:デフォルトの名無しさん
18/08/05 16:58:00.21 iWriYPq8.net
>>895
Visual Studioでした。すみません。

936:デフォルトの名無しさん
18/08/05 21:27:02.69 8pU3W85Z.net
>>896
omnisharp
これ以上は適切なスレで

937:デフォルトの名無しさん
18/08/08 06:10:45.62 9IQgpJP5.net
Add-TypeでC#をコンパイルしてアセンブリを吐き出すことってできない?
cscをつかうかCodeDOMをつかうっきゃないか

938:デフォルトの名無しさん
18/08/08 07:33:51.33 aBUsJDbY.net
>>898
そこまできたら普通にRoslyn使えよ…

939:デフォルトの名無しさん
18/08/08 09:28:50.60 t8dLk4fV.net
>>898
-OutputAssembly
-OutputType
URLリンク(technet.microsoft.com)

940:デフォルトの名無しさん
18/08/10 02:50:48.12 r84RRSaO.net
日本語環境でUpdate-Helpが成功した方いますか?

941:デフォルトの名無しさん
18/08/12 11:52:57.19 AqaK+sLZ.net
「Write-Host $Args[0]」とだけ書いたスクリプトを、コマンドプロンプトから
「powershell ./test.ps1 "(笑)"」
と呼び出すと「CommandNotFoundException」が発生します。
括弧が悪いようですが、やっぱり渡す前に「"`(笑`)"」みたいにバッククォートで括弧をエスケープするしかないんですかね?
実際は引数に何が来るかわからないので、できればPowerShell側でなんとかしたいんですが。

942:デフォルトの名無しさん
18/08/12 14:22:48.08 pjLEMieq.net
>>902
powershell -file ./test.ps1 "(笑)"

943:デフォルトの名無しさん
18/08/13 20:44:05.76 9GVffBEY.net
>>903
いけました、ありがとうございます!

944:デフォルトの名無しさん
18/08/13 22:24:06.95 aFOAPcea.net
URLリンク(livedoor.blogimg.jp)

945:デフォルトの名無しさん
18/08/15 21:56:44.38 JQmIXjO5.net
>>905
店名は「笑」と書いてショウと読むのに対し,
「(笑)」は「(笑い)」の省略されたものなのでワラもしくはワライと読むはずなので,
その画像は不適切

946:905
18/08/16 23:27:16.70 3IMawj9A.net
>>906
いや、そもそもスレチなんでまともに相手しないであげて下さいw
ところでPowershellで何かわからないことあってググると
大体「URLリンク(mtgpowershell.blogspot.com)」のサイトがヒットすることが多いんだけど
このサイト運営してる人ってすごく頭がいいんだろうなあ

947:デフォルトの名無しさん
18/08/17 02:04:19.83 ApTQfLt8.net
>>907
ネタにマジレスするっていうネタやで
俺もそのサイトは度々参考にさせてもらってるわ
http


948:://tech.guitarrapc.com/archive/category/PowerShell ↑このサイトもおすすめ。「PowerShell実践ガイドブック」の作者。



949:デフォルトの名無しさん
18/08/17 07:49:40.85 ObWRp2dL.net
>>905
>>906
麺屋側は商売だから
とくに「ワラ」とか
ネットスラングまんまの店名つけるわけない

950:907
18/08/17 21:38:03.34 OW713aU2.net
>>909
俺が悪かったのでもうスレチにマジレスは勘弁して下さい。(^_^;)
>>908
Powershellの書籍まで出してる人のサイトか、すごいですね。
使えるTIPSあるかひと通り見てみますね。

951:デフォルトの名無しさん
18/08/26 17:31:51.65 ueCC70T4.net
さすがに空白区切りの項目を$3とかで参照できないよな
awkが特殊すぎるか

952:デフォルトの名無しさん
18/08/26 22:38:58.94 BD3/9DfM.net
特化された言語と比べなければ十分シンプルかな
cat $1 | % { $a = -split $_; $a[3] + $a[2] }
変数への代入が少しやぼったく感じる

953:デフォルトの名無しさん
18/08/27 08:30:13.32 C7OBrvX6.net
ふむふむ、笑は「わら」って読まないのか…
1つ勉強になったわ
            笑笑店主


954:デフォルトの名無しさん
18/09/05 21:03:41.11 223DM7Lb.net
>>889
「PowerShellは何でもできる」は嘘。
お前は死んでいい。つーか死ね。
PoewerShellやっても背は伸びなかったし、彼女出来なかったし、宝くじにも当たらなかったわ!!!!
まぁそれは冗談として。
「何でも」ってのは流石に撤回しろよ。
あ、俺は >>884 ではない。

955:デフォルトの名無しさん
18/09/05 21:34:41.59 ueA0fDDX.net
PowerShellで赤ちゃんできました、ありがとうございます!!

956:デフォルトの名無しさん
18/09/05 22:18:06.97 +hZ+CXx5.net
>>914
> PoewerShellやっても背は伸びなかったし、彼女出来なかったし、宝くじにも当たらなかったわ!!!!
それパチモンやん

957:デフォルトの名無しさん
18/09/05 22:34:57.71 67GmsqOi.net
毛が生えてきました

958:デフォルトの名無しさん
18/09/05 23:18:58.56 223DM7Lb.net
PqewrShellを飲んで二か月です。
アソコビンビンで妻も満足です。
こう?

959:デフォルトの名無しさん
18/09/05 23:24:51.36 67GmsqOi.net
通常の蜆の30倍
蘇る男の自信

960:デフォルトの名無しさん
18/09/06 06:56:43.48 OzF+wVKL.net
蜆ってしじみのことか
PowerShell…米国の製薬会社で開発された貝のサプリかな

961:デフォルトの名無しさん
18/09/06 21:28:59.42 tWUwV9UN.net
Powershellやりはじめたら台風被害にあったよ><
家の前の自転車が倒れただけだけど

962:デフォルトの名無しさん
18/09/08 14:31:58.13 oTozgSe4.net
PowerShell Core 6.x (以下 PS6) を導入した環境でスクリプトを実行する際、
実行環境を容易に 旧来の PowerShell 5 (以下 PS5)、PS6 とで
切り替える方法ってありますか?
モジュールの関係で PS5 でないと動作しないものもあるので、こっちのスクリプトは
PS5 で動かしたい、ほかは PS6 で、って感じで混在してます。
海外のスレッドでは、拡張子「.ps6」を独自に追加してそれで切り替えれば?みたいな
回答が出てましたけど、汎用性に欠けるのであんまりそういうことはしたくないんです。
Linux みたいに shebang 行で切り替えられれば一番なんですけど。
なにかアイディア無いですか?

963:デフォルトの名無しさん
18/09/08 14:40:20.95 MO8wxn5E.net
一行目読み取ってどっちを起動するか切り替える実行ファイルつくればいいやん

964:デフォルトの名無しさん
18/09/08 15:06:48.98 hiBN1no6.net
切り替えるってのがよく分からん
そもそもps1ファイル自体は実行しても何も起こらないんじゃなかったっけ

965:デフォルトの名無しさん
18/09/08 15:24:39.69 YwBJn4st.net
そりゃスクリプトはテキストファイルだから実行形式じゃないよ
画像ビューアにコマンドライン引数で画像パス渡せば画像が開くでしょ
スクリプトの実行はそれと同じことやってるの
なんでプログラム板でこんなこと説明しないといけないんだ

966:デフォルトの名無しさん
18/09/08 16:26:12.38 L0x65Qz7.net
いやだからさ
実行元がpwshとpowershellで明確に違うのに何を切り替えるのか分からんのよ

967:デフォルトの名無しさん
18/09/08 16:37:52.36 nMBTba9u.net
拡張子の関連付け問題の話?
バ―ジョンチェックとどちらで起動するかのリストを持ってる振り分けアプリ作って、.ps1への関連付けをそれにするとか。

968:デフォルトの名無しさん
18/09/08 16:47:51.96 oKnpK5oG.net
実行された環境がPS6だったら自身をPS5で実行して終了するスクリプトを
PS5で実行したいファイルの頭に書いておけばいいんじゃね

969:デフォルトの名無しさん
18/09/08 17:33:30.08 oTozgSe4.net
例えば、Active Directory 管理用モジュール「ActiveDirectory」は、現状
powershell.exe でしか動かず、pwsh.exe ではインポートできないわけ。
--------
参考
URLリンク(docs.microsoft.com)
PowerShell スナップインは、PowerShell モジュールの前身ですが、PowerShell コミュニティではあまり使用されていません。
-- snip --
現時点では、Windows および Windows Server 内の ActiveDirectory および DnsClient モジュールに影響します。
--------
というわけで、今俺が作ってるものだと、以下のものが混在してる。
イ)powershell.exe でしか動かない
ロ)pwsh.exe でしか動かない
ハ)どっちでも動く
で、~.ps1 ファイルを実行する際に、右クリックして「PowerShell で実行」とすると、何もしなければ powershell.exe で
実行される。自分が作ったものはほとんどが(ハ)なんだけど、時々(ロ)もあって、それを実行するときは右クリックして「PowerShell で実行」が出来ないんで面倒。
今検討してるのは、
a) pwsh.exe でしか動かないものは拡張子を .ps6 でにして、Windows に ps6 を pwsh.exe に関連付ける
b) sendto フォルダに pwsh.exe で実行させるバッチファイルを置く
c) バッチファイル (~.cmd) に、実行環境ごと書いてしまう (参考 URLリンク(d.hatena.ne.jp) )
なんだけど、ほかにやりよう無いかね。

970:デフォルトの名無しさん
18/09/08 18:08:00.82 +HZWtY92.net
UNIXシェルのシバンみたいのが理想なら>>928は現実的な最適解だと思うんだけど何故スルー?

971:デフォルトの名無しさん
18/09/08 18:26:03.12 HSx0xrFN.net
そんだけならコンテキストメニューを拡張して
「PSV5で実行」を追加すれば良くね

972:デフォルトの名無しさん
18/09/08 19:09:29.22 nMBTba9u.net
右クリックなら選べるからコンテキストメニューをどうにかすべきだな。
ダブルクリックの話かと思ってた。

973:デフォルトの名無しさん
18/09/08 19:12:14.31 nMBTba9u.net
>>930
環境の問題とプログラム自体を分けておきたいとかあるんじゃないの?

974:デフォルトの名無しさん
18/09/08 21:00:30.80 oTozgSe4.net
>>928
イメージとしてはこんな感じかな。たしかにうまくいきそう。
ありがとう、明日試してみる。
-----------
<# ps1 の関連付けが powershell.exe の状態 (デフォルト) で、pwsh.exe で実行させたいものの場合 #>
# 実行環境が ver 5 以下の場合
if ($PSVersionTable.PSVersion.Major -le 5) {
pwsh.exe $MyInvocation.MyCommand.Path
exit
}
# 以下、ver 6 以上�


975:ナ実行させたい内容



976:デフォルトの名無しさん
18/09/08 21:11:46.23 oTozgSe4.net
>>931 >>932
もちろんそれでも十分可能なんだけど、以下の理由でできればカスタマイズは避けたいんです。スクリプト内だけで完結させたい。
・マシンがたくさん、OS も複数種類、ユーザプロファイルもたくさんあるので、標準構成からあまりいじりたくない
・お客さんに納品する可能性も考慮

977:デフォルトの名無しさん
18/09/09 12:32:25.50 CjsffzYn.net
そんな条件なら最初から全部ver5用に作るわ

978:デフォルトの名無しさん
18/09/09 12:54:55.70 PZb39582.net
運用マニュアルなしで議論してもしょうがないでしょ
このスクリプトはver5環境で実行してくださいと一言書いとけば済む話

979:デフォルトの名無しさん
18/09/09 13:48:43.10 b90Mhdwq.net
そういう能書きが書いてあっても何のこっちゃ分からんという人に配布しなきゃいけない場合もあるからなぁ
お客さんに運用対応を要求するのも大変なことだし

980:デフォルトの名無しさん
18/09/09 14:14:36.64 R8hBsgvF.net
>>937はこの手の仕事したことないんだろ
マニュアル書いても
「ver5環境ってなんだ?」
とか、そもそも説明なんて読んでなくて
「うまく動かないので至急なんとかしてください」
って言われるだけのこと

981:デフォルトの名無しさん
18/09/09 14:39:06.98 DLS5Iddq.net
これで十分
#Requires -Version 5
if ($PSVersionTable.PSEdition -eq 'Core') {
throw 'Powershell Coreでは動作しません。'
}

982:デフォルトの名無しさん
18/09/09 14:42:48.50 0y2Fjk63.net
「マニュアル?あぁ読んでないわ。とにかく直しといてね」

983:デフォルトの名無しさん
18/09/09 14:47:33.78 0y2Fjk63.net
>>940
「なんか 動作しません て出るんだけど?直しといてね」

984:デフォルトの名無しさん
18/09/09 15:19:04.80 DLS5Iddq.net
「対応するなら○○万円(鬱陶しい顧客リスク分を上乗せして)頂戴します。」
断るならブラック顧客だから切るべし。
断れないならブラック企業だから転職。

985:デフォルトの名無しさん
18/09/09 15:28:45.97 D8J39mU4.net
>>943
突っぱねるだけじゃなく、妥協点を見出す、Fail safe, Fool proof ってのも重要なことだよ。
まあ個人のポリシーだから好きにすればいいけど。

986:デフォルトの名無しさん
18/09/09 15:31:06.93 //bKOaXP.net
無職の妄想かよ w

987:デフォルトの名無しさん
18/09/09 15:47:36.82 jqHbfRUC.net
マニュアル書くにしたって、「エラーメッセージが出ます」と一言で説明するだけじゃ不十分
「『ver5環境では動作しません』というメッセージが表示されます。この場合...」と一字一句再現してやらないとわけわからなくなる人が山のようにいるのでね
ウィンドウの背景色やフレームの色まで画像付きで説明されてないと理解できない人もいるし
舐めてると死ぬぞ

988:デフォルトの名無しさん
18/09/09 20:12:23.17 0ym3cmgA.net
会計ソフトを出したら、それを買った客が、簿記・会計処理のことを聞いてくるw
女が電話に出ると、何時間でも粘るw
そういう客もいる

989:デフォルトの名無しさん
18/09/09 20:24:13.14 H4RfJ3jl.net
>>947
それ、チャンスじゃん。
サポート料を時間当たりいくらと決めとけば良い。

990:デフォルトの名無しさん
18/09/09 20:59:40.12 //bKOaXP.net
>>947
全然関係ないけど昔生理用品メーカーに納入した機器の入れ替えに行った時に聞いた話だと、お客さんからの問い合わせ(多分クレーム)で長い時は3時間とかかかるって言ってた

991:934
18/09/10 17:56:21.73 0jDkILQ9.net
結局こんなふ


992:うにしたよ https://pastebin.com/9RWLpSC7 >>928 ありがとうごさいました! ほかの皆さんもありがとうございました!



993:デフォルトの名無しさん
18/09/12 08:25:50.66 HwQfxVDT.net
Verifying PowerShell versions…let me count the ways
URLリンク(blogs.technet.microsoft.com)

994:デフォルトの名無しさん
18/09/14 07:52:52.25 itNItVhP.net
powershellにはbuild toolないのか

995:デフォルトの名無しさん
18/09/14 09:15:39.59 u+Z35nAl.net
Announcing PowerShell Core 6.1
URLリンク(blogs.msdn.microsoft.com)

996:デフォルトの名無しさん
18/09/14 10:16:47.60 60Mnn9Dg.net
これは朗報だ!
---------
AWS Lambda は PowerShell Core をサポートします
URLリンク(aws.amazon.com)

997:デフォルトの名無しさん
18/09/14 12:28:03.19 Z7a8n8W6.net
6.1日本語使えない?

998:デフォルトの名無しさん
18/09/14 13:01:26.89 /Xr9NdPd.net
>>954
PowerShellでWeb API作る需要あるのかな

999:デフォルトの名無しさん
18/09/14 14:27:05.47 60Mnn9Dg.net
>>956
自分の場合だけど、Windows の EC2 インスタンスと連携するプログラムを Lambda 上で
作る案件がちょくちょくあって、これまでは Windows 上は PowerShell、Lambda のほうは
P{ython で作ることが多かった。
だけど自分のスキルのせいもあって、PowerShell と Python のコーディングを同時並行で進めると
色々と混乱することが少なくなかったのね。
# 両方 Python で作れば、と思うかもしれんけど、運用の手間を考えると、
# 追加でインストールするものはなるべく少なくしたい
それが、Lambda で PowerShell Core が使えるなら PowerShell で統一できるので、
個人的にすごく捗るな、と。

1000:デフォルトの名無しさん
18/09/16 13:14:02.90 16Y59QgZ.net
class構文じゃなくて本物の型を定義したい場合にはAdd-Typeしかないのかな
GUI作るときにPSObjectがうまくデータバインドできなくて困った

1001:デフォルトの名無しさん
18/09/28 12:50:16.79 8vtXqMhV.net
URLリンク(news.mynavi.jp)
Powershell6.1で大分パフォーマンス上がったみたいね
パフォーマンス以外に起動も結構早くなった感じ


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch