2014-01-01から1年間の記事一覧
UWSC公式掲示板で教えてもらったのでメモ。 powershell -EncodedCommand ([Convert]::ToBase64String([System.Text.Encoding]::Unicode.GetBytes((gc (ファイルパス)) -join "`r`n"))) これ関数化したらRestrictedかたなし。
たしか先月で、GoogleのカレンダーAPI、v1/v2が使えなくなりました。 ということでGoogle依存を解消したPowerShellでの休日取得を考えてみました。 追記 2021/10/12 2021年東京オリンピック周りの変更を反映 2007以降のみを削除 関数名等修正
以前、このような記事を書いた。 UWSCで可変引数を扱う - じゅんじゅんのきまぐれ しかし、、、欠陥があることに今頃気づいた。 ScriptControlのRunメソッドに16個以上のパラメーターを渡すとエラーになるのです、、、。 やはり最大は固定しかない、というの…
Add-TypeでAssemblyをロードしちゃうと、Unloadできないじゃないですか。 あの仕様って、どんな嫌がらせなんですかね? じゃあってんで、PowerShellプロセスを使い捨てにするのが一般的だと思うけど、そうすると一部は残したい、という場合にまたAdd-Typeし…
本当はタブ補完を自由にコントロールしたかったのだけど、ちょっと面倒になったのでヒントだけ。 Powershellのタブ補完は、TabExpansionという関数が担っているらしい。 その正体は、 (Get-Command TabExpansion).Definition 手元のPowershell v2.0環境では…
Powershell、とっても便利じゃないですか。 便利、それは危険ということ。 セキュリティホールつかれてスクリプトが実行されたら大変ですよね! 利便性のためにすぐRemoteSignedにしがちですが、せめてAllSignedにしましょう。 ということで、方法を考えてみ…
なんかさ、便利なものを公開してくれる人もいるわけじゃないですか。 でもさ、ファイル修正してからコマンド叩くの、面倒じゃないですか。 忘れるじゃないですか。 勝手に作れよ、と。 だから考えてみた。 追記 2014/12/15 Start-Watcherのリターンを、Watch…
Start-Jobで非同期実行っぽいことができるわけですが、あれは別プロセス。 しかも、Receive-Jobしないと結果取得できない。 スレッドでやりたいじゃない? そこを解決してみる。 追記 2014/12/03 Start-Timerのスクリプトブロックに引数を渡せるようにした …
冬だし、Powershellで雪でも降らせるか、とスクリプトを書いてみた。 実行すると、私がぽちぽちドットを押して描いた雪の結晶が一つ、適当な位置から落ちていきます。 一番下まで落ちたら終了。
公式掲示板にUWSCでタスクトレイ常駐する方法はないか、という質問があった。 需要があるようなので、考えてみた。 TEXTBLOCKの部分はPowershellなので、PowershellでNotifyIconを作成するサンプルでもあります。 追記 2014/11/21 高機能版に、親プロセス(=U…
UWSCでオブジェクトというと、ScriptControl経由でのJScriptオブジェクトが使いやすい。 しかし、こやつはスレッドを超えられない。 これをどうにかしたい。 結果:ieに依存してよければ超えられる なお、PUBLICでない文字列をスレッド間で共有するだけなら…
Powershellでバイナリーファイルを分割したくなった。 検索すると、ReadAllBytesで読込んでしまうのが出てきたので、少し修正した。 ついでに、テキストの行数分割もつけたけど、、、遅いし、UTF-16で出力されることに注意。 属性と最終更新日付も保持するよ…
.net 3.0のプライベートクラスを利用したZIP圧縮・展開の記事を書いた。 素の.net 3.0以降でZIPファイルを扱う - じゅんじゅんのきまぐれ しかし、更新日付問題があった。 これを解決してみた。 多分、、、.net 2.0以降で動くんじゃなかろうか。 原理 追記 2…
.net 4.5からZipArchiveクラスが提供されます。 これによりようやくZIPファイルの扱いがまともになるわけですが、、、。 Windows7/8では、素では.net4.5は入っていません。 これをなんとかしたい。
以前、.chmファイルを解析してみた。 UWSCで.chmファイルを解析する - じゅんじゅんのきまぐれ 手元にあるUWSCインタープリターは、解析したキーワードを登録しておいて、hh.exeでヘルプを開くものでした。 が、これだと、キーワードを更新しないといけない…
UWSCのREADINI関数には、セクションやキーの一覧を取得する方法がない。 GetPrivateProfileStringでは、セクションやキーの一覧を取得する方法がある。 キー数可変で動作したい時、この一覧が便利なんですよね。 ということで、モジュールを書いてみた。
UWSC公式掲示板に以下のような質問があった。 正規表現置換をしたかったのですが上手く動きません。 csvを読み込んでtsvに変換するため、 正規表現の置換結果に\tを使いたいのですが、 "\t"がそのまま書かれてしまいます。 いまはReplace文で通常置換してま…
UWSC公式掲示板に、ワードファイルの新規自動作成についての質問があった。 方法を考えたものの、簡単には実証コードが書けなくて断念したのだが、、、くやしいので再挑戦した。 全てPowershellを使って書いても良かったけど、UWSCでの質問なので、編集周り…
Microsoftが無料で提供しているSysinternalsツールのAutorunsを使って、Powershellで自動実行の確認をする。 私はPowershellをランチャーとして使っているので、起動時に組み込んでみた。
気が向いたので、ADODB.Streamが使用できない環境で、バイナリー出力する方法を考えてみた。 以下の制約がのめるなら、なんとかなる。 先頭2Byteは、ASCII範囲内(0〜128) 全体は偶数バイトであること、もしくは、奇数バイトの場合偶数位置にASCII範囲内があ…
UWSC公式掲示板でクイズを出してみた。 Q1) 「おみごと」と出る最小の入力は? HASHTBL h h[0] = 1 WHILE LENGTH(h) EVAL(INPUT("?")) WEND h[0] = 1 MSGBOX("おみごと") 標準:16 or 17文字 むむ:9文字 えっ:7文字(私の回答) 神か:6文字以下 とある行がな…
「山の日」の制定をうけて、修正しました。 UWSCで祝日を算出する - じゅんじゅんのきまぐれ UWSCで1949年以降の祝日を算出する - じゅんじゅんのきまぐれ javascriptで休日判定 - じゅんじゅんのきまぐれ
UWSC Ver5.0.0からVAR_BSTRが廃止となり、VAR_ASTRとVAR_USTRができた。 そして、ENCODEにCODE_ANSIが追加となった。 この関係を探った結果。 基本は、VAR_USTR ENCODE CODE_ANSIで、VAR_ASTRになる(VARTYPEでも変換化) VAR_ASTRをVAR_USTRに戻すには、EMP…
FOR-IN構文、便利ですよね! シンタックスシュガーだと思うけど、馬鹿にはならないのです。 C#使ってると、シンタックスシュガーって意外と大事、と思います。 ということで、FOR-INで遊んでみた。 二重ループとか、GetOleItemとぶつかったりするんじゃない…
UWSC公式掲示板に、管理者権限で起動したUWSCを一時的に降格する方法はないか、という質問があった。 CreateProcessWithTokenWでやれば良いとのことだったので、面白そうだからやってみた。
さすがメジャーバージョンアップ。 破壊的変更がいくつかあります。 VAR_BSTR廃止とか、ダイアログのクラス名変更とか。 ま、直せば良いだけのこと。 ヘルプの変更一覧(細かいのは適当に省略)は以下で。
$pathにファイルパスがあるとして [Convert]::ToBase64String([System.IO.File]::ReadAllBytes($path)) $b64strにBase64文字列があり$pathに出力するとして [System.IO.File]::WriteAllBytes($path, [Convert]::FromBase64String($b64str)) ConvertのSystem…
たまたまとあるところで見つけた素数出力のJavaプログラム。 public class prime { public static void main(String[] args) { int p[] = new int[200]; int cnt = 0; p[cnt++] = 2; System.out.println(p[0]); for(int i = 3; i <= 1000; i += 2){ boolean …
AllocConsoleして、位置や色を変更して出力、FreeConsoleができるDLLを作ってみた。 これが遅い場合は、、、API呼び出しのオーバーヘッドを抑えるために、メモリー更新をトリガーに動作させた方が良いかも。
「help」 ただし、読む根気が必要。ぐぐるのとどちらが早いかは慣れ次第。 以上、、、だと不親切なので、少し解説。