System.execBatchScript
の標準エラーが正しく取得できていなかった問題を修正
System.execBatchScript
の実行結果を単純な文字列から、より詳細なデータSystemExecResult
で返すように変更console.log
の内部でtoString()
でエラーが発生した場合は、エラー内容を出力するように変更
JSON.stringify
でundefind
とnull
がES3の仕様でObject
判定になってしまっていたのを修正Polyfill
でMath
系の定義を追加Polyfill
でArray.prototype.splice
の仕様を一般的な仕様へ変更
console.log
にオブジェクトを入れた場合は、展開して表示するように変更- システムコードか判定できる
System.isNativeCode
を追加
- ビルド日で
getDate()
で取得する必要があったのをgetDay()
を使用してしまっていたのを修正 String.prototype.trim
をMDN Web Docs
で決められている仕様へ変更Number.isInteger
で巨大な整数を判断できない場合があったのを修正Number.isSafeInteger
を追加
System.WindowsAPI
をSystem.callWindowsAPI
のように一般的な名前を変更
System.BatchScript
をSystem.execBatchScript
のように一般的な名前を変更System.PowerShell
をSystem.execPowerShell
のように一般的な名前を変更SFile
のgetTextFile
,setTextFile
をそれぞれreadString
,writeString
のように一般的な名前へ変更SFile
のgetBinaryFile
,setBinaryFile
をそれぞれreadBinary
,writeBinary
のように一般的な名前へ変更
SFile.prototype.searchFile
,SFile.prototype.searchFiles
の英単語が誤っていたため削除しましたSFile.findFile
,SFile.findFiles
を追加しました。第一引数にフォルダを入力しますRobot.getVK()
をRobot.VK
へ変更System.exec
のエラー処理を強化System.run
のエラー処理を強化、引数用System.AppWinStype
定数を追加、戻り値についてdoc
コメントを記載System.BatchScript
に戻り値の仕様変更、またUTF-8
で正しくバッチ実行できるように修正。UTF-16LE
には未対応であることをdoc
コメントに明記Dialog.popupMessage
の一部の引数の定数をDialog.POPUP_OPTION_TYPE
内へ移動Dialog.popupMessage
の戻り値をDialog.POPUP_RETURN
内へ移動Array.prototype.sort
で利用するStringComparator.DEFAULT
とStringComparator.NATURAL
についてany
型でもソート出来るように改善console.log
など文字列出力メソッドにて配列型、オブジェクト型を渡した場合、内部データを表示するように変更ExtendsObject
とExtendsArray
内のtoString
が既に定義されており不要なので削除し、ExtendsObject.js
を削除
SFile
内のコメントのリファクタリングSFile.prototype.getTextFile
のエラー処理を強化、Shift_JIS
を指定した場合はOpenTextFile
ではなくADODB.Stream
を使用するように動作変更SFile.prototype.setTextFile
のエラー処理を強化、Shift_JIS
を指定した場合でエンコードに失敗した場合にエラーが発生する問題を修正。SFile.prototype.getBinaryFile
で異常時の戻り値はif
文で簡単に判定できるようにnull
へ変更v4.2.0
にてSFile.prototype.searchFile
に複数ファイル検索機能を付けましたが、これをSFile.prototype.searchFiles
という名前で別メソッドへ変更
- 変数の型名を取得する
System.typeOf
を追加 SFile.prototype.searchFile
について引数に正規表現を入れるなどの改善、及び複数ファイルを探すような機能を追加SFile.prototype.move
のエラー処理を強化、詳細な動作仕様をメソッドの説明に記載SFile.prototype.renameTo
のエラー処理を強化、詳細な動作仕様をメソッドの説明に記載
SFile
の入力引数にSFile
型を入力するとエラーが発生する場合があったのを回避
(コンストラクタで入れた SFile
型の入力引数を instanceof
判定すると false
となり謎のエラーが発生する場合があったのを修正)
SFile.prototype.getTextFile
でWeb上のファイルを開いた時のエラー処理を強化- バイナリを取得する
SFile.prototype.getBinaryFile
をWeb上のサイトのファイルでも読み込めるように改善
v3.0.0
で拡張したArray
とObject
に対しての機能追加の中でfor in
の動作に支障が出るメソッドを消去
System.PowerShell
で複数行の文字列を引数に入れることを可能とするように改善System.BatchScript
を追加Dialog.popupSaveAs
にてPowerShell
のコマンドの真偽値の設定誤りにより動作に問題があったのを修正polyfill
を強化(JSON.parse
,JSON.stringify
の追加など)SFile.prototype.setTextFile
のエラー処理を強化
- グローバル空間を示す
globalThis
,global
,window
を追加 - 指定した変数が定義されているかを調べる
System.isDefined()
を追加 System.getEnvironmentString()
の第一引数が任意の設定になっていなかったのを修正console.log
は、cscript
でのみ動作するように変更WindowsAPI
を使用している個所にコメントを追加String.fromCodePoint()
が正しく動作していなかった問題を修正SFile.prototype.setBinaryFile()
のバッファを調整して、速度を4倍程度へ高速化SFile.createXMLHttpRequest
をSystem.createXMLHttpRequest
へ移動System.createMSXMLDOMDocument
を追加- バイト配列と相互変換する
System.createNumberArrayFromByteArray
,System.createByteArrayFromNumberArray
- バイナリを読み書きする
SFile.prototype.getBinaryFile
,SFile.prototype.setBinaryFile
について、途中から読み書きできる機能を追加
- 圧縮と展開を行う
SFile.compress()
,SFile.extract()
を追加 SFile
にハッシュ値を取得するgetHashCode
を追加SFile
に*:
という2文字のパスでC
以外を設定した場合に正しいパスを設定できない不具合を修正SFile
のgetParent
,getParentFile
でURLを指定した場合に、最後に必ず\
を付けて返すように動作変更System
に環境変数を取得するgetEnvironmentString
を追加
konpeito
で利用していたpolyfill
をベースにいくつか互換性用の機能を追加
- 文字列表示用命令に
null
,undefined
を入力した場合にエラーで落ちないように修正 popupOpen
を廃止し、popupOpenFile
,popupOpenDirectory
を追加Dialog
系の戻り値をSFile
オブジェクトに変更Robot
にウィンドウ名とクラス名を両方してできるメソッドの対応が不十分だったのを修正setKeyEvent
に何回押すかを追加、また押下時間の変数名を変更setMouseEvent
を追加
Robot
にウィンドウ名
,クラス名
両方指定できるメソッドを追加SFile.prototype.lastModified
がVT_DATE値
を返してしまっていたのを修正
System
にexit
,exec
を追加
SFile
のremove
に読み取り専用でも削除する方法のアルゴリズムを変更Dialog
にファイルを開くダイアログ
を追加Dialog
に名前を付けて保存するダイアログ
を追加
- ウィンドウやマウスなどを自動操作するための
Robot
クラスを追加
SFile
のmkdirs
が正しく動作していなかったのを修正SFile
のremove
に読み取り専用でも削除できる引数を追加SFile
にsetBinaryFile
やremove
の実行が失敗した場合のエラー処理を追加SFile
にsetReadOnly
,isReadOnly
,setHidden
,each
関数を追加Format
に日付専用のフォーマット関数
を追加System
にクリップボード操作
、コマンドを実行
、ビープ音
、WindowsAPI関数
を追加
Object
への拡張方法が誤っていたのを修正- サンプルファイル(
ChangeFileName
)を追加
- 自己学習用に作っていた使用頻度が低いメソッドを削除
- いくつかのメソッドを
Array
とObject
に対して直接拡張させるように変更(例えば、Array.prototype.sort()
が安定ソートになります) Random
のアルゴリズムをM系列乱数
からxorshift
に変更しリファクタリングMojiJS
から自然順ソートなどを利用できるように機能を追加"System.out"
内のメソッドを"System"
直下に移動
Visual Studio Code
でJScript
開発を意識した作りに構成を変更JScript
開発で不要なライブラリを除去して軽量化- 文字列用のライブラリは、MojiJS を利用してください
- 数学用のライブラリは、konpeito を利用してください
- 正しくバージョン管理するように変更
- 3DCGや画像処理など
JScript
外の動作が増えてきたので、これらの処理を「SenkoJS」として分離 - 本ライブラリのWSHで利用できるコード部分を「
SenkoLib
」から「SenkoWSH
」として分離
- GitHub で管理するように変更
- Webブラウザでも同様に動作させることを目標に変更
- ライブラリ名を「
SenkoLib
」に変更
- 機能アップのため「
JScriptバッチ処理用ライブラリ
」に名前を変更
Java
の関数をJScript
で動作させたいという願望元にライブラリを公開