PowerShell
.net 3.0のプライベートクラスを利用したZIP圧縮・展開の記事を書いた。 素の.net 3.0以降でZIPファイルを扱う - じゅんじゅんのきまぐれ しかし、更新日付問題があった。 これを解決してみた。 多分、、、.net 2.0以降で動くんじゃなかろうか。 原理 追記 2…
.net 4.5からZipArchiveクラスが提供されます。 これによりようやくZIPファイルの扱いがまともになるわけですが、、、。 Windows7/8では、素では.net4.5は入っていません。 これをなんとかしたい。
UWSC公式掲示板に、ワードファイルの新規自動作成についての質問があった。 方法を考えたものの、簡単には実証コードが書けなくて断念したのだが、、、くやしいので再挑戦した。 全てPowershellを使って書いても良かったけど、UWSCでの質問なので、編集周り…
Microsoftが無料で提供しているSysinternalsツールのAutorunsを使って、Powershellで自動実行の確認をする。 私はPowershellをランチャーとして使っているので、起動時に組み込んでみた。
$pathにファイルパスがあるとして [Convert]::ToBase64String([System.IO.File]::ReadAllBytes($path)) $b64strにBase64文字列があり$pathに出力するとして [System.IO.File]::WriteAllBytes($path, [Convert]::FromBase64String($b64str)) ConvertのSystem…
「help」 ただし、読む根気が必要。ぐぐるのとどちらが早いかは慣れ次第。 以上、、、だと不親切なので、少し解説。
.netのクラスは取得できた。 http://d.hatena.ne.jp/junjun777/20140115/powershell_search_type しかし、コンストラクターがわからない。 から、インスタンスのメンバーがわからない、という事態が発生する。 そこで、また関数を書いてみた。
.netのクラスを探す方法は書いた。 http://d.hatena.ne.jp/junjun777/20140115/powershell_search_type その際、アセンブリが読み込まれていないと探せない。 じゃあ、あらんかぎりを取得してはどうか、ということで書いてみた。 start powershell '-Command…
Powershellで.netオブジェクトを扱っていると、名前空間のタイプが面倒。 というか、覚えてない。 例えば正規表現のクラス名と名前空間、覚えてます?タイポしない? そんな時のために関数を書いてみた。
PowershellをCUIランチャーにしたところ、「which」がないことに気付いた。 ということで作成。といっても、Get-Commandですけど。
.Netにはもれなくコンパイラーが含まれている。 このため、VisualStudio等を導入しなくても、C#等のビルドが可能である。 しかし、ググッても一ページ目に出なかったので、メモ書きする。
長らく、コマンドプロンプトをランチャーとして使ってきたのですが、XPの寿命も尽きようとしているので、Powershellに引っ越すことにしました。 いろいろ便利ですから! CUIランチャーとして使うためにやったことのメモです。
PowershellからUWSCにコマンドを実行させる。 前回はIE経由な上に、PowershellとUWSCの二つのスクリプトが必要でした。 PowershellとUWSCの連携 - じゅんじゅんのきまぐれ 今回は、名前付きパイプを使用してIEを排除した上に、メンテするスクリプトを一つに…
.netで名前付きパイプを扱う方法ですね。
x64環境には、ScriptControlが存在しない。 例えば、x64のPowershellでJScriptオブジェクトを受け取ってしまった場合、扱いに困る。 Get-Memberしても、何も返ってこない、、、。 ScriptControlがいれば、AddObjectして解釈できるのだけど。 ということで、…
前回は、x86オンリーでした。 今回は、「1ファイルでx64/x86両方に対応する」ことを目指しました。
UWSCのPowershell関数は遅い。 恐らくアセンブリのロードに時間がかかるのだろう、、、。 二回目以降でも遅い。 なんとか早くしたいので、考えてみた。
別件調査中に、UWSCでのMACアドレス取得方法を見つけた。 http://www3.bigcosmic.com/board/s/board.cgi?id=umiumi&mode=all&no=2855&log=ON&cnt=24 相変わらず素晴らしい。 msgbox(betweenstr(doscmd("ipconfig /all"), "Physical Address. . . . . . . . .…
昨日書いたもののソースを掲載。 クラス名はUIWindowでない方が良いかな。 $source = @" using System; using System.Windows.Automation; using System.Threading; public class UIWindow { private const int _moment = 100; private AutomationElement _a…
いわゆるフィンガープリント用ですね。 .NETのSystem.Security.Cryptography名前空間を利用しているので、SHA256/SHA384/SHA512あたりも同様です。 # ハッシュ値を計算する function Calc-Hash([System.Security.Cryptography.HashAlgorithm] $alg, [string]…