2025.10.11:
* new: scripts/tools/math/?ltrim_fnvar.bat: script to zero trim integer folded numbers
* new: scripts/tests/unit/bat/test_math: `?ltrim_fnvar.bat` unit tests
* new: scripts/tests/bench/bat/test_math: `?ltrim_fnvar.bat` bench tests
* refactor: scripts/tests: unit/bat/test_math/test_math__09_trim, bench/bat/test_math/test_math__08_norm, bench/bat/test_math/test_math__09_trim: minor refactor
* refactor: scripts/tools/math: imul2x_fnvar.bat, iltrim_nvar.bat: minor fixup
2025.10.10:
* changed: scripts/tools/ToolAdaptors/app/emule: splitted `backup_config.bat` into multiple scripts
* changed: scripts/tools/ToolAdaptors/app/emule: added more backup files
2025.10.09:
* new: scripts/tools/math/?ltrim_nvar.bat: script to zero trim integer unfolded numbers
* new: scripts/tests/unit/bat/test_math: `?ltrim_nvar.bat` unit tests
* new: scripts/tests/bench/bat/test_math: `?ltrim_nvar.bat` bench tests
* changed: scripts/tests/unit/bat/test_math/test_math__08_norm: minor improvements
* refactor: scripts/tools/math/?cmp_nvar.bat: minor refactor
2025.10.09:
* new: scripts/tests/bench/bat/test__for: `for /L` vs `for ... in` bench tests
2025.10.07:
* changed: scripts/tools/math: ?add*.bat, ?div.bat: switched to `?norm.bat` scripts as a bit faster
* changed: scripts/tools/math/unorm.bat: code cleanup
* refactor: scripts/tools/math/ufold*.bat: minor refactor
2025.10.07:
* fixed: scripts/tests/unit/bat/test_math/test_math__04_mul/test_math__22_imul2x_fnvar.bat: missed to cleanup
* new: scripts/tools/math/iadd2x_fnvar.bat: script to circumvent 32-bit signed addition arithmetic limitation
* new: scripts/tests/unit/bat/test_math: `iadd2x_fnvar.bat` unit tests
* new: scripts/tests/bench/bat/test_math: `iadd2x_fnvar.bat` bench test
* changed: scripts/tools/math: iadd*.bat, imul2x_fnvar.bat: code cleanup
* refactor: scripts/tools/math/?add*.bat: minor refactor
2025.10.07:
* fixed: scripts/tests/bench/bat/test__exit.bat: execution fixup
* new: scripts/tests/bench/bat/test__exit: more tests
* refactor: scripts/tests/bench/bat/test__exit: minor refactor
2025.10.06:
* refactor: scripts/tools/math/?cmp_fnvar.bat: minor refactor
2025.10.06:
* changed: scripts/tools/math/imul2x_fnvar.bat: switched to `unorm.bat` script as a bit faster
2025.10.06:
* new: scripts/tools/math/unorm.bat: script to explicit normalize a folded integer number without a sing
* new: scripts/tests/unit/bat/test_math: `unorm.bat` unit tests
* new: scripts/tests/bench/bat/test_math: `unorm.bat` bench test
2025.10.06:
* changed: scripts/tools/wmi/print_wmic_path_all_props.bat: minor improvement
2025.10.06:
* new: scripts/tools/math/imul2x_fnvar.bat: script to circumvent 32-bit signed multiplication arithmetic limitation
* new: scripts/tests/unit/bat/test_math: `imul2x_fnvar.bat` unit tests
* new: scripts/tests/bench/bat/test_math: `imul2x_fnvar.bat` bench test
2025.10.06:
* fixed: scripts/tests/bench/bat/test_math/test_math__04_mul/test_math__21_imul.bat: bench test fixup
2025.10.04:
* changed: scripts/tests/unit/bat/test_math: unit tests improvement, define `RETREF=0` by default because a return value must always exist
2025.10.03:
* refactor: __init__/__init__.bat, scripts/tools/math: ?add*.bat, ?cmp*.bat, ?div.bat, ?mul.bat, inorm.bat, ?unfold.bat: minor refactor
2025.10.03:
* new: scripts/tools/ToolAdaptors/app/emule/_config/config.0.vars.in: `EMULE_BACKUP_LOGS_NOT_OLDER_DAYS` variable to store a value for the `backup logs not older than X days`
* changed: scripts/tools/ToolAdaptors/app/emule/backup_logs.bat: use `robocopy` to always copy log files with `not older than X days` filter
2025.10.02:
* new: scripts/tools/math/inorm.bat: script to explicit normalize a folded integer number with a sign
* new: scripts/tests/unit/bat/test_math: `inorm.bat` unit tests
* new: scripts/tests/bench/bat/test_math: `inorm.bat` bench test
* changed: scripts/tools/math, scripts/tests/unit/bat/test_math: minor improvement
* refactor: scripts/tools/math, scripts/tests/unit/bat/test_math: minor refactor
2025.09.25:
* new: scripts/tools/math/ifoldpad6*.bat: scripts without an overflow, but for signed sequences longer than `N,N,N,N,N,N` with 0 padding
* new: scripts/tools/math/iunfold.bat: a signed integer unfold script
* new: scripts/tests/unit/bat/test_math: `ifoldpad6*.bat`, `iunfold.bat` unit tests
* new: scripts/tests/bench/bat/test_math: `ifoldpad6*.bat`, `iunfold.bat` bench test
* changed: scripts/tools/math: ufoldpad*.bat, uunfold.bat: minor improvement
* refactor: scripts/tools/math: ufold*.bat, uunfold.bat: scripts rename for an unsigned integer
* refactor: scripts/tools/math: ?add*.bat, idiv.bat, ?mul.bat: minor refactor
* refactor: scripts/tests: unit/bat/test_math, bench/bat/test_math: minor refactor
2025.09.24:
* new: scripts/tools/math/idiv.bat: script to circumvent 32-bit signed division arithmetic limitation
* new: scripts/tests/unit/bat/test_math: `idiv.bat` unit tests
* new: scripts/tests/bench/bat/test_math: `idiv.bat` bench test
* new: scripts/tests/bench/bat/test_math: test_math__*_iadd*.bat, test_math__*_imul.bat: signed zero test cases
* changed: scripts/tools/math/udiv.bat: code cleanup
* refactor: scripts/tools/math: iadd*.bat, udiv.bat: minor refactor
2025.09.20:
* fixed: scripts: tools/math/umul.bat, tests/unit/bat/test_math/test_math__04_mul/test_math__11_umul.bat: fractional part remainder addition
* new: scripts/tools/math/imul.bat: script to circumvent 32-bit signed multiplication arithmetic limitation
* new: scripts/tests/unit/bat/test_math: `imul.bat` unit tests
* new: scripts/tests/bench/bat/test_math: `imul.bat` bench test
* changed: scripts/tools/math: ?add.bat, umul.bat, udiv.bat: code cleanup
* refactor: scripts/tests/unit/bat/test_math: minor refactor
2025.09.18:
* fixed: scripts/tests/unit/bat/test_math/test_math__03_add/.test_math__22_iadd_fnvar/report.bat inner variable set
2025.09.18:
* fixed: scripts/tools/math/?cmp_*.bat: inner variable set
* new: scripts/tools/math/iadd_fnvar.bat: script to circumvent 32-bit signed addition arithmetic limitation
* new: scripts/tests/unit/bat/test_math: `iadd_fnvar.bat` unit tests
* new: scripts/tests/bench/bat/test_math: `iadd_fnvar.bat` bench test
* refactor: scripts/tests: unit/bat/test_math, bench/bat/test_math: minor refactor
2025.09.18:
* changed: scripts/tools/testlib: turn off calls to `chcp.com` if `NO_CHCP` variable is defined and not zero
* changed: __init__/__init__.bat, scripts/tests/unit/bat/test_std/.test_std__20_chcp/setup.bat: improvements
* refactor: scripts/tools/testlib: minor refactor
2025.09.12:
* changed: scripts/tools/testlib: turn off calls to `chcp.com` if `SETUP_CP` or `CHCP` variables are not defined
2025.09.11:
* new: README.md: `contools` discussion badge
2025.09.11:
* changed: README.md: `stackoverflow` badge and reference is replaced by `stackexchange`
2025.09.11:
* changed: README.md: global remove of code metric references from all project pages
2025.09.09:
* refactor: scripts/tools/math: ?add.bat, udiv.bat, umul.bat: minor refactor
* refactor: scripts/tests/unit/bat/test_math: unit tests refactor
* refactor: scripts/tests/bench/bat/test_math: bench tests refactor
2025.09.09:
* new: scripts/tests/bench/bat/test__math/test__math__*_fold_vs_add: `fold*.bat` vs `?add*.bat` script bench tests
2025.09.03:
* new: scripts/tools/math/sign.bat: script to return the sign of a value
* new: scripts/tests/unit/bat/test_math/test_math__*_sign: `sign.bat` unit tests
* new: scripts/tests/bench/bat/test_math/test_math__*_sign.bat: `sign.bat` bench test
* refactor: scripts/tools/math/icmp*.bat: minor refactor
2025.09.02:
* changed: scripts/tools/testlib/.locals/nest.vars: save additionally a spent time for a nested call
2025.09.02:
* fixed: scripts/tools/testlib: time spent calculation
* fixed: scripts/tools/testlib/update_locals.bat: missed a code page change skip
2025.09.02:
* fixed: scripts/tools/math/?cmp_*nvar.bat: execution fixup
2025.09.02:
* fixed: scripts: tools/testlib, tests/unit/bat: tests order number
2025.09.02:
* changed: scripts: tools/math/?cmp*.bat, tests/unit/bat/test_math/test_math__*_cmp: reverted to return negative exit code on undefined variable instead of treat it as `0`
2025.09.02:
* changed: scripts/tools/testlib: code improvement, reduction and cleanup
2025.09.02:
* fixed: scripts/tools/math/icmp*.bat: comparison with signed zero
* fixed: scripts/tests/unit/bat/test_math/test_math__*_cmp/test_math__*_ucmp_fnvar.bat: skip test cases with invalid or duplicated input
* new: scripts/tools/math/icmp_fnvar.bat: script to circumvent 32-bit signed comparison arithmetic limitation
* new: scripts/tests/unit/bat/test_math/test_math__*_cmp: `icmp_fnvar.bat` unit tests
* new: scripts/tests/bench/bat/test_math/test_math__*_cmp.bat: `icmp_fnvar.bat` bench tests
* changed: scripts/tools/math/?cmp*.bat: code reduction
* changed: scripts: tools/math/icmp*.bat, tests/unit/bat/test_math/test_math__*_cmp: removed `==` operator
* refactor: scripts/tools/math/icmp*.bat: minor refactor
2025.09.01:
* new: scripts/tools/testlib: test script group time spent print
2025.09.01:
* changed: scripts/tools/testlib: improved tests performance
2025.09.01:
* fixed: scripts/tools/testlib/init.bat: tests parallel execution
2025.09.01:
* changed: _config/config.0.vars.in: disable clink extension to speedup execution
2025.09.01:
* new: scripts/tools/testlib: print tests pass overall number in the console window title
2025.09.01:
* fixed: scripts/tools/math: iadd.bat: execution fixup
* new: scripts/tools/math: icmp.bat, icmp_nvar.bat: script to circumvent 32-bit signed comparison arithmetic limitation
* new: scripts/tests/unit/bat/test_math/test_math__*_cmp: `icmp.bat`, `icmp_nvar.bat` unit tests
* new: scripts/tests/bench/bat/test_math/test_math__*_cmp.bat: `icmp.bat`, `icmp_nvar.bat` bench tests
* changed: scripts/tools/math: ucmp*.bat: minor improvement
* refactor: scripts/tools/math: *fold.bat, uadd.bat, umul.bat, udiv.bat, ucmp*.bat: minor improvement
* refactor: scripts/tests: unit/bat/test_math, bench/bat/test_math: tests refactor
2025.08.29:
* new: scripts/tools/math/iadd.bat: script to circumvent 32-bit signed addition arithmetic limitation
* new: scripts/tests/unit/bat/test_math/test_math__35_uadd.bat: `iadd.bat` unit tests
* new: scripts/tests/bench/bat/test_math/test_math__35_uadd.bat: `iadd.bat` bench test
* refactor: scripts/tests: unit/bat/test_math, bench/bat/test_math: minor refactor
2025.08.27:
* changed: scripts/tools/math, scripts/tests/unit/bat/test_math: removed negative exit code indicating a not arithmetic error, except division by zero and comparison operators
2025.08.27:
* new: scripts/tests/bench/bat/test__exit: one more case
* refactor: scripts/tests/bench/bat/test__exit: minor refactor
2025.08.26:
* new: scripts/tools/math/foldpad.bat: script without an overflow, but for sequences longer than `N,N,N,N,N,N`
* new: scripts/tools/math/foldpad*.bat: scripts without an overflow, but for sequences longer than `N,N,N,N,N,N` with 0 padding
* new: scripts/tests/unit/bat/test_math/test_math__*_foldpad*.bat: `foldpad*.bat` unit tests
* new: scripts/tests/bench/bat/test_math/test_math__*_foldpad*.bat: `foldpad*.bat` bench tests
* refactor: scripts/tools/math: *fold.bat, uadd.bat, umul.bat, udiv.bat, ucmp*.bat: minor improvement
* refactor: scripts/tests/unit/bat/test_math: unit tests refactor
* refactor: scripts/tests/bench/bat/test_math: bench tests refactor
2025.08.25:
* fixed: scripts/tools/testlib/init.bat: execution fixup
* new: scripts/tools/math/ucmp_*nvar.bat: script to circumvent 32-bit comparison arithmetic limitation
* new: scripts/tests/unit/bat/test_math/test_math__*_ucmp_*nvar.bat: `ucmp_*nvar.bat` unit tests
* new: scripts/tests/bench/bat/test_math/test_math__*_ucmp_*nvar.bat: `ucmp_*nvar.bat` bench tests
* changed: scripts/tools/math/ucmp.bat: code improvement
* changed: scripts/tests/unit/bat/test_math: code improvement
* changed: scripts/tests/unit/bat/test_math: unit tests improvement
* refactor: scripts/tools/math: *fold.bat, uadd.bat, umul.bat, udiv.bat: minor improvement
2025.08.23:
* new: scripts/tools/math/ucmp.bat: script to circumvent 32-bit comparison arithmetic limitation
* new: scripts/tests/unit/bat/test_math/test_math__21_ucmp.bat: `ucmp.bat` unit tests
* new: scripts/tests/bench/bat/test_math/test_math__21_ucmp.bat: `ucmp.bat` bench tests
* changed: scripts/tools/std/cmp_*var.bat: code improvement
* refactor: scripts/tools/math: *fold.bat, uadd.bat, umul.bat, udiv.bat: minor improvement
* refactor: scripts/tools/std/asc-utf.bat: minor improvement
2025.08.22:
* fixed: scripts/tools/math/unfold.bat: code fixup
* changed: scripts/tools/math/fold.bat: minor code improvement
2025.08.21:
* refactor: scripts/tools/math/udiv.bat: description fixup
2025.08.21:
* fixed: scripts/tests/unit/bat/test_math/test_math__12_umul.bat: minor fixup
* new: scripts/tools/math/udiv.bat: script to circumvent 32-bit division arithmetic limitation
* new: scripts/tests/unit/bat/test_math/test_math__13_udiv.bat: `udiv.bat` unit tests
* new: scripts/tests/bench/bat/test_math/test_math__13_udiv.bat: `udiv.bat` bench test
* changed: scripts/tools/math: umul.bat, unfold.bat: minor code improvement
* refactor: scripts/tools/math: *fold.bat, umul.bat, uadd.bat: minor improvement
2025.08.19:
* fixed: scripts/tests/bench/bat/test_math/test_math__11_uadd.bat: bench test fixup
* new: scripts/tools/math/umul.bat: script to circumvent 32-bit multiplication arithmetic limitation
* new: scripts/tests/unit/bat/test_math/test_math__12_umul.bat: `umul.bat` unit tests
* new: scripts/tests/bench/bat/test_math/test_math__12_umul.bat: `umul.bat` bench test
* new: scripts/tests/unit/bat/test_math/test_math__11_uadd.bat: unit test for a maximum limit
* refactor: scripts/tools/math/uadd.bat: minor improvement
2025.08.19:
* new: scripts/tests/bench/bat/test__exit_b.bat: `exit /b`, `goto :EOF`, `goto END` comparison bench tests
2025.08.19:
* fixed: scripts/tools/math/*fold.bat: execution fixup
* new: scripts/tools/math/uadd.bat: script to circumvent 32-bit addition arithmetic limitation
* new: scripts/tests/unit/bat/test_math/test_math__11_uadd.bat: `uadd.bat` unit tests
* new: scripts/tests/bench/bat/test_math/test_math__11_uadd.bat: `uadd.bat` bench test
* new: scripts/tests/unit/bat/test_math/test_math__*_*fold.bat: more unit tests
* changed: scripts/tools/math/*fold.bat: code improvement
* changed: scripts/tests/unit/bat/test_math: unit tests report improvement
2025.08.18:
* new: scripts/tests/unit/bat/test_math/test_math__02_unfold.bat: more unit tests
* changed: scripts/tools/math/unfold.bat: add only an overflow part of the right expression
* changed: scripts/tools/math/*fold.bat: minor improvement
2025.08.14:
* new: scripts/tests/unit/bat/test_math.bat: `fold.bat`, `unfold.bat` unit tests
* new: scripts/tests/bench/bat/test_math.bat: `fold.bat`, `unfold.bat` bench tests
2025.08.12:
* new: scripts/tools/std/cmp_*var.bat: scripts to compare string and number values in variables
* new: scripts/tools/math: scripts to partially circumvent 32-bit arithmetic limitation
2025.08.11:
* changed: scripts/tools/encoding/prepend_bom_to_utf_file.bat: minor change
2025.08.08:
* new: scripts/tools/ToolAdaptors/hta/README_EN.txt: readme file
2025.08.08:
* changed: scripts/tools/encoding: unix2dos.bat, dos2unix.bat: minor fix
2025.08.08:
* new: scripts/tests/bench/bat/test_encoding: bench tests for `unix2dos.bat` and `dos2unix.bat` scripts
2025.08.07:
* new: scripts/tests/unit/bat/test_encoding: more `unix2dos` and `dos2unix` unit tests for `CRLF` and `LF` only, generated from mixed variants
* changed: scripts/tools/encoding: unix2dos.bat, dos2unix.bat: performance improvement by processing 2 queries in a single pipe
* changed: scripts/tests/unit/bat/test_encoding: `unix2dos` and `dos2unix` unit tests refactor
2025.08.06:
* fixed: scripts/tools/xml/sed: tests pass
2025.08.06:
* fixed: scripts/tests/unit/bat/_testdata: test_encoding__*_unix2dos, test_encoding__*_dos2unix: unit tests data fixup
* fixed: scripts/tests/unit/bat/test_encoding/test_encoding__01_EOL_conversion: unit test scripts fixup
* new: scripts/tools/encoding: unix2dos.bat, dos2unix.bat: `-fix-tail-lr` flag to fix the tail line return using additional queries to the file through the `sed`
* new: scripts/tests/unit/bat/test_encoding: more exclusive unit tests
* changed: scripts/tools/encoding: unix2dos.bat, dos2unix.bat: code improvement
* changed: scripts/tests/unit/bat/test_encoding/test_encoding__01_EOL_conversion: unit test scripts improvements
* changed: scripts/tests/unit/bat: test_encoding: excluded `unix2dos` and `dos2unix` unit tests from `all` as too long to wait
2025.08.06:
* fixed: scripts: inappropriate default behavior of the `fc.exe`, by default it does ignore line returns difference, switched to always use the binary mode comparison
2025.08.05:
* new: scripts/tools/encoding: unix2dos.bat, dos2unix.bat: mixed line ending conversion scripts using `msys2` or `gnuwin32` `sed` implementation
* new: scripts/tests/unit/bat/test_encoding/test_encoding__01_unix2dos.bat: unit tests for `unix2dos.bat` script
* new: scripts/tests/unit/bat/test_encoding/test_encoding__02_dos2unix.bat: unit tests for `dos2unix.bat` script
* new: .externals-tests: GnuWin32 externals for tests
* changed: scripts/tests/unit/bat: unit test scripts improvement
* changed: scripts/tools/encoding/prepend_bom_to_utf_file.bat: code cleanup
2025.08.01:
* refactor: scripts/tools/cleanup: `sed` implementation detail
2025.07.31:
* fixed: scripts/tools/std/*shift.bat: `-num` option fixup
* fixed: scripts/tests/manual/bat/test_std/test_std__*__*shift.bat: manual tests fixup
* fixed: scripts/tests/manual/bat/test_std/test_std__*_call*_with_*lock_!exclusive.bat: missed to create a temporary directory
* new: scripts/tests/manual/bat/test_std/test_std__*__*shift.bat: manual tests for `-num` option
2025.07.31:
* refactor: scripts/tests/manual/bat/test_std/test_std__60_asc_!exclusive.bat: excluded from `test_all.bat` because the test is complex, slow and relied upon the current code page
2025.07.31:
* refactor: scripts/tests, README_EN.txt: directory rename
2025.07.29:
* changed: scripts/tools/ToolAdaptors/ffmpeg/ffmpeg_cut*.bat: move custom flags variable before `-ss` option
* changed: scripts/tools/ToolAdaptors/ffmpeg/ffmpeg_*.bat: added `-map 0` option to select all streams by default
2025.07.22:
* new: scripts/tests/bench/batscripts/test__read_dir: bench tests for `dir` vs `for` commands
2025.07.21:
* new: scripts/tests/bench/batscripts/test__setlocal: bench tests for `setlocal` and `endlocal` commands
* refactor: scripts/tests/bench/batscripts/test_build: tests minor refactor
2025.07.18:
* new: scripts/tools/std/*shift.bat: `-num <num-args>` option to limit the arguments to use after skip and shift
* changed: scripts/tests/unit/batscripts/test_build/test_build__11_gen_config.bat: test output improvement
2025.07.18:
* changed: *.bat: global code cleanup
2025.07.18:
* changed: __init__.sh: avoid parameters pass to the root init script from a sub directory (if you want to pass a script parameter, then you have to pass it in to a script from the same directory or below it)
2025.07.15:
* fixed: scripts/tools/std/echo_*.bat: scripts fixup for an empty string expansion
* fixed: scripts/tools/std/time: scripts fixup for UTF-7 code page
* fixed: scripts/tools/std/testlib, scripts/tests, _config/config.system.vars.in: set 437 as default code page for Windows XP, UTF code page is avoided for Windows XP
* new: scripts/tools/std/asc-utf.bat: character to ASCII code conversion script
* new: scripts/tests/manual/batscripts/test_std/test_std__60_asc.bat: manual test for `asc-utf.bat` script in an arbitrary code page
2025.07.13:
* fixed: *.bat: flags scope minor fixup
2025.07.13:
* changed: TODO.txt: todo update
* refactor: scripts/tools/ToolAdaptors/vbs/*.vbs: code refactor
2025.07.13:
* new: scripts/tests/bench/batscripts/test__which/test__which__01.bat: bench test for the `which.bat` script
* new: scripts/tests/bench/batscripts/test__which/test__which__02_where.bat: bench test for the `where.exe` executable
* new: .externals-tests: externals for all tests
2025.07.12:
* fixed: scripts/tools/build/.gen_config/gen_config.read_flags.bat: `sed` control characters correct escape
* new: scripts/tools/build/gen_config.bat: `-s` flag to replace in the entire file as a single instead of in each line as by default
* new: scripts/tests/unit/batscripts/test_build/test_build__11_gen_config.bat: `gen_config.bat` unit tests
* changed: scripts/tools/build/gen_config.bat: improved parser to replace ASCII hex coded characters and unicode coded characters
* changed: scripts/tools/testlib/init.bat: testlib improvement
* changed: scripts/tests/unit/batscripts: tests code improvement
2025.07.11:
* changed: scripts/tools/tasks: code cleanup
2025.07.07:
* changed: scripts/tests/unit/batscripts/**/init.bat: switched to `setshift.bat` script to read the rest of a test command line
2025.07.07:
* fixed: scripts/tools/build/gen_config*.bat: execution fixup
2025.07.07:
* changed: *.bat: flag parse global code improvement, added `-+` flag to begin flags scope
* changed: scripts/tools/build/gen_config*.bat: moved flags parse into separate script
* changed: scripts/tools/encoding/prepend_bom_to_utf_file.bat: minor improvement
2025.07.07:
* new: scripts/tools/encoding/any2ansi.bat: `-bom` flag to prepend the output file with the UTF BOM sequence
* changed: scripts/tools/encoding: ansi2any.bat, any2ansi.bat: code improvement and usage description
2025.07.07:
* changed: scripts/tests/bench/batscripts/test__read/test__read__23_by_for_exec_to_var.bat: test speedup
2025.07.07:
* new: scripts/tests/bench/batscripts/test__read: script bench tests
2025.07.05:
* refactor: .externals-win*: default branch rename
2025.06.29:
* changed: deploy/notepad++/plugins/MultiReplace: moved to `contools--notepadplusplus` project
2025.06.27:
* fixed: scripts/tools/xml: sed/*.sed, filter_xpath_list_by_xpath_list.bat: port `sed` expressions from `GnuWin32` to `Msys2` (`Msys2` pattern expressions `.`, `$`, `[^]` does not respect the carriage return character - `\r`)
* fixed: scripts: tools/cleanup/cleanup_file.bat, tests/unit/batscripts/test_xml/test_xml__00_sed.bat: preserve Windows line returns
* fixed: scripts/tests/unit/batscripts/test_xml: tests pass
2025.06.25:
* refactor: global directories rename to lower case name
2025.06.25:
* fixed: Scripts/Tools/exec/exec_*_prefix.bat: avoid use `/load-parent-proc-init-env-vars` flag by default in case if a script has called with custom init variables, otherwise they would be dropped by the flag
* changed: Scripts/Tools/ToolAdaptors/app: minor improvement
2025.06.24:
* new: Scripts/Tools/ToolAdaptors/vbs/exec-cmdline-exp.vbs: script variant with the Windows Shell command line expansion
* new: Scripts/Tools/ToolAdaptors/vbs/exec-cmdline.vbs: detection of `%?NN%` character sequences to create respective environment variables to use as ASCII values in `cmd.exe`-like command line expansion
* changed: Scripts/Tools/ToolAdaptors/vbs/exec-cmdline.vbs: avoided the shell built in %-variable expansion for the command line by using the `?.` environment variable as a command line place holder
2025.06.21:
* changed: Scripts/Tools/std: xcopy_*.bat, xmove_*.bat: minor improvement and code cleanup
2025.06.20:
* fixed: ISSUES.txt: switched to `msys2` `sed.exe` without the stream truncation issue
* fixed: Scripts/Tests/unit/batscripts/test_xml/.test_xml__10_filter_xpath_list_by_xpath_list/impl.bat: test output error
* new: .externals*: `msys2` external dependencies for Windows XP and Windows 7+
* new: tools/load_config_dir.bat, _config/config.system.vars.in: parameterized config and config directory load script wrapper to parameterize the loading phase
* changed: Scripts/Tools: switched to new `msys2` external
* changed: __init__.bat: switched to parameterized config directory script loader
* changed: Scripts: Tests, Tools/testlib/init.bat: test variables refactor
2025.06.20:
* changed: Scripts/Tools/build/gen_config_dir.bat: code cleanup
2025.06.19:
* changed: ISSUES.txt: issues update
2025.06.19:
* fixed: Scripts/Tools/build/mkdir*.bat: print error
* changed: Scripts/Tools/build: mkdir*.bat, xcopy_*bat: print blank line
2025.06.18:
* refactor: spelling fixup
2025.06.15:
* new: Scripts/Tools/wmi/print_wmic_path_all_props.bat: script to print all WMI property values from a path
* changed: Scripts/Tools/wmi/print_all_wmi_classes.vbs: code cleanup
2025.06.15:
* new: Scripts/Tests/bench/batscripts/test_build/test_build__*_check_config_expiration.bat: script bench test
* refactor: Scripts/Tests/bench/batscripts/test_build: minor refactor
2025.06.14:
* fixed: Scripts/Tools/build/check_config_expiration.bat: ignore case where the first line of the input file has no version line
* changed Scripts/Tools/build/check_config_expiration.bat: input and output file paths must be different
* changed Scripts/Tools/build: check_config_expiration.bat, gen_config.bat: improvements
2025.06.13:
* refactor: Scripts/Tools/std/allocate_temp_dir.bat: minor improvement
2025.06.12:
* new: Scripts/Tools/wmi/print_all_wmi_classes.vbs*: scripts to print all WMI classes
2025.06.11:
* fixed: Scripts/Tools/*.bat: missed to check not-globbing paths on `<>` characters as a path globbing characters
* fixed: Scripts/Tools/std/copy.bat: typo
2025.06.10:
* refactor: typo
2025.06.10:
* fixed: Scripts/Tools/std/if*.bat: error level reset on empty argument
* changed: Scripts/Tools/std/if_var_defined.bat: removed as not used anymore
* changed: Scripts/Tools/std/if_defined_*.bat: minor improvement
* refactor: Scripts/Tools/std/if_defined_*.bat: renamed from `if_var_defined_*.bat`
2025.06.10:
* new: Scripts/Tools/std/assert_if_*.bat: assert scripts on a variable's value empty, false or true
* new: Scripts/Tests/unit/batscripts/test_std/test_std__*_if*.bat: `std/if*_*.bat` scripts unit tests
* new: Scripts/Tests/unit/batscripts/test_std_if_!exclusive.bat: `std/if*_*.bat` exclusive scripts unit tests
* new: Scripts/Tests/bench/batscripts/test_std/test_std__*_if*.bat: `std/if*_*.bat` scripts bench tests
* new: Scripts/Tests/bench/batscripts/test_std_if_!exclusive.bat: `std/if*_*.bat` exclusive scripts bench tests
* changed: Scripts/Tools/std/if_.bat: improved, error `< was unexpected at this time.` if `if` expression is incomplete, with not zero exit code
* changed: Scripts/Tools/std: if_*.bat, ifn_*.bat: improved, error `< was unexpected at this time.` if `if` expression is incomplete, with not zero exit code
* changed: Scripts/Tools/std/assert.bat: improved, always return not zero exit code
* changed: Scripts/Tools/std/testlib: testlib improvement
* changed: Scripts/Tests/unit/batscripts: tests improvement
2025.06.09:
* changed: Scripts/Tools/std: ifn_or.bat, ifn_and.bat: improved, can use variadic `if`, ex : `call ifn_and.bat 3 1 EQU 1 4 /i a "==" A && echo true`
2025.06.09:
* changed: Scripts/Tools/std: if*_or.bat, if*_and.bat: replaced by a multi argument if
2025.06.08:
* fixed: Scripts/Tools/std/encode: missed to encode/decode `<>` as path globbing characters
2025.06.07:
* changed: Scripts/Tools/locks: minor fixup
* changed: Scripts/Tools/*.bat: code cleanup
2025.06.06:
* fixed: Scripts/Tools/*.bat: Windows XP Administrator privileges elevation code fixup
* changed: ISSUES.txt: issues update
2025.06.06:
* changed: ISSUES.txt: issues update
2025.06.04:
* changed: Scripts/Tools/*.bat: switch from `wmic.exe` utility usage to a vbs script wrapper because of the issue ("`wmic.exe` does consume a console window input" : https://github.com/andry81/contools/discussions/25)
2025.06.04:
* new: Scripts/Tools/wmi: print_wmi_local_datetime.vbs, print_wmi_local_datetime.vbs.bat, get_wmi_local_datetime.vbs.bat: vbs variant if WMI date/time getter with bat wrappers
* new: Scripts/Tools/bench/batscripts/test_wmi*: WMI scripts bench tests
2025.06.03:
* changed: Scripts/Tools/wmi: minor improvements
2025.06.03:
* new: Scripts/Tests/bench/batscripts/test__echo_!exclusive: exclusive `echo` bench tests
2025.06.03:
* fixed: Scripts/Tools: std/get_windows_version.bat, ToolAdaptors/lnk/install_system64_link.bat: minor fixup
* changed: Scripts/Tools: std/get_windows_version.bat, ToolAdaptors/lnk/install_system64_link.bat: merge to common code
2025.06.03:
* new: Scripts/Tools/std/check_vars.bat: moving from `build` directory
* new: Scripts/Tools/std: check_*_vars.bat: reduction from `canonical_path.bat` for a list of variables
* new: Scripts/Tools/std: canonical_*_vars.bat: merge from `check_*_vars.bat` and `canonical_path.bat` for a list of variables
* changed: Scripts/Tools/build/check_vars.bat: reimplemented to be able to check variables with `!`, `?` and `*` characters in the name
* changed: Scripts/Tools/std/canonical_path*.bat: minor improvement
* changed: Scripts/Tools/std/if_*.bat: return 255 as the false condition exit code instead of 1
* changed: Scripts/Tools/ToolAdaptors/app: replace `if_var_defined_and_*_exist.bat` and `canonical_path.bat` script calls by `canonical_*_vars.bat` call
2025.06.02:
* changed: Scripts/Tools/build/check_config_expiration.bat: minor comparison speedup
* changed: Scripts/Tools/build/check_config_expiration.bat: now only the first line does read
2025.05.27:
* fixed: Scripts/Tools/testlib: init.bat, test.bat, exit.bat: reimplemented to support execution over `65000` code page ("`+` character has a special meaning in `65000` codepage" : https://github.com/andry81/contools/discussions/20)
* fixed: Scripts/Tools/testlib: save_locals.bat, load_locals.bat, update_locals.bat: use `65001` code page to save and load to circumvent code page change between calls
* fixed: Scripts/Tools/testlib: init.bat, test.bat: the test setup has moved into `init.bat` script in case of an external setlocal/endlocal call
* new: Scripts/Tools/testlib: getcp.bat, set_*_cp.bat: testlib scripts to temporary override a test script code page
* new: Scripts/Tools/testlib: generate internal and return test variables after `init.bat`, `test.bat`, `exit.bat`, `report.bat` scripts call
* changed: Scripts/Tools/testlib: init.bat, test.bat, exit.bat: reimplemented and simplified
* changed: Scripts/Tools/testlib/save_locals.bat: code cleanup and improvement, saves internal variables at the last
* changed: Scripts/Tools/testlib: code improvements to better support tests nesting
* changed: Scripts/Tools/std: getcp.bat, restorecp.bat: code cleanup and minor improvement
* changed: Scripts/Tools/std/chcp.bat: reimplemented and simplified
* changed: Scripts/Tests/unit/batscripts: tests code refactor
2025.05.25:
* changed: README_EN.txt: readme update
2025.05.22:
* new: Scripts/Tests/bench/batscripts/test__set: `set` bench tests
* changed: Scripts/Tests/bench/batscripts/test__type: more tests
* changed: Scripts/Tests/bench/batscripts/test__rem: tests reduction
* changed: Scripts/Tests/bench/batscripts: code cleanup
* changed: README_EN.txt: readme update
2025.05.22:
* new: Scripts/Tests/bench/batscripts/test_rem*: `rem` bench tests
* changed: Scripts/Tools/*.bat: `@echo off` replaced by `@echo off & goto DOC_END` to speed up a documentation header skip
* changed: Scripts/Tools/*.bat: the rest scripts minor speed up
* changed: Scripts/Tools/which.bat: moved to `userbin` project
2025.05.20:
* fixed: Scripts/Tools/ToolAdaptors/vbs/*.vbs: correct processing of object paths beginning by `\\?\`
* new: Scripts/Tools/ToolAdaptors/vbs: make_shortcut.vbs, reset_shortcut.vbs: `<ShortcutTarget>` object path auto detection
* changed: Scripts/Tools/ToolAdaptors/vbs/*.vbs: better errors report
* changed: Scripts/Tools/ToolAdaptors/vbs: reset_shortcut.vbs, reset_shortcut_from_dir.bat: code improvement
* changed: TODO.txt: todo update
* refactor: Scripts/Tools/ToolAdaptors/vbs: code refactor
2025.05.20:
* fixed: Scripts/Tools/tasks/spawn_tasks.bat: execution fixup
2025.05.14:
* refactor: Scripts/Tools: std, build: inner script documentation details
2025.05.13:
* changed: Scripts/Tools/build/init_vars_file.bat: improved environment variables load
* changed: Scripts/Tools/exec: improved scripts nested call without log attachment
* changed: Scripts/Tools: minor refactor
2025.05.12:
* changed: global improvement to use `?NN` as a variable hex representation of ascii character
2025.05.12:
* changed: TODO.txt: todo update
2025.05.12:
* changed: Scripts/Tools/std/encode: scripts speed up
2025.05.07:
* new: Scripts/Tools/time: begin_time.bat, end_time.bat: scripts to calculate spent time in integral plus fractional part (secs.msecs, msecs.mcsecs, etc)
* changed: Scripts/Tools/testlib: global improvement to use `?NN` as a variable hex representation of ascii character
* changed: Scripts/Tests/bench: scripts reduction and minimization
* changed: Scripts/Tests/manual: code cleanup
* refactor: Scripts/Tools/time/time*.bat: scripts moved from the parent directory
2025.05.05:
* fixed: Scripts/Tools/std: expand_var.bat, set_var.bat: accept most of the control characters in a variable's name
* changed: Scripts/Tools/std/expand_vars.bat: minor improvement
* changed: Scripts/Tools/std/declare_builtins.bat: minimal set of sensitive control characters
* changed: Scripts/Tools/std: scripts reduction and minimization
* changed: global improvement to use `?NN` as a variable hex representation of ascii character
2025.04.30:
* changed: Scripts/Tools/std/assert.bat: redirect any output into stderr
2025.04.29:
* new: Scripts/Tools/hash/certutil.bat: `certutil.exe` wrapper script for a file hash calculation
2025.04.28:
* changed: Scripts/Tests/manual/utilities: moved to `contools--utils` project
2025.04.28:
* fixed: Scripts/Tests/unit/batscripts/test_build/test_build__00_load_config.bat: execution fixup
* refactor: Scripts/Tests/unit/batscripts: tests moved to subdirectories for unification
* refactor: Scripts/Tests: bench, manual: minor refactor
2025.04.28:
* fixed: Scripts/Tools/std/*shift.bat, Scripts/Tests/manual/batscripts/test_std: execution fixup
* new: Scripts/Tests/manual/batscripts/test_std: test_std__00_call.bat, test_std__10_callshift.bat: more `echo` tests related to "Different `echo?...` variants" : https://github.com/andry81/contools/discussions/22
* changed: Scripts/Tests/manual/batscripts/test_std/test_std__02_setshift.bat: output improvement
* changed: Scripts/Tests/manual/batscripts/test_std: tests with locks removed from run all
* changed: Scripts/Tests/manual/batscripts: code cleanup
* refactor: Scripts/Tests/bench/batscripts, Scripts/Tests/manual/batscripts: tests moved to subdirectories for unification
* refactor: Scripts/Tests/bench/batscripts, Scripts/Tests/manual/batscripts: tests rename
2025.04.27:
* changed: global code improvement: `echo.` -> `echo;`, based on "Different `echo?...` variants" : https://github.com/andry81/contools/discussions/22
2025.04.24:
* new: Scripts/Tools/ToolAdaptors/app/emule/exec_gui_emule.bat: `-backup-all`, `-backup-config`, `-backup-logs`, `-backup-part-met` flags
* changed: Scripts/Tools/ToolAdaptors/app/emule/exec_gui_emule.bat: don't wait GUI executable to exit as long as it does not print into stdout
2025.04.24:
* fixed: Scripts/Tools/ToolAdaptors/app/emule/backup_config.bat: skip unexisted `KnownPrefs.met`
* new: Scripts/Tools/ToolAdaptors/app/emule/backup_logs.bat: backup logs to save errors and corrupted part met file names to locate them later in previously backuped downloads
* changed: Scripts/Tools/ToolAdaptors/app/emule/backup_config.bat: added `downloads.bak` and `fileinfo.ini` to backup
2025.04.23:
* new: Scripts/Tests/bench/batscripts/test__echo*.bat: bench tests
* refactor: Scripts/Tests/bench/batscripts: test__call*.bat, test__all.bat: tests refactor
2025.04.17:
* fixed: Scripts/Tools/ToolAdaptors/vbs/exec-cmdline.vbs: avoid quote the first command line argument if already has a quote character
2025.04.09:
* refactor: Scripts/Tools/ToolAdaptors/vbs/set_fileshortname.bat: minor refactor
2025.04.08:
* fixed: Scripts/Tools/build/gen_config.bat: minor fixup
* new: Scripts/Tools/build/gen_config.bat: `-rm` option to remove text instead of replace
2025.04.02:
* changed: *.sh: global header code reduction
2025.04.01:
* new: Scripts/Tools/ToolAdaptors/vbs/update_shortcut_props_from_dir.bat: multiple replace arguments
2025.03.26:
* fixed: Scripts/Tools/std: get_windows_version.bat, touch_file.bat: minor fixup
* fixed: Scripts/Tools: std/is_dir_exist.bat, ToolAdaptors/vbs/make_shortcut.vbs: execution fixup
* fixed: Scripts/Tools/ToolAdaptors/vbs: make_shortcut.vbs, update_shortcut.vbd: missed prints
* fixed: Scripts/Tools/ToolAdaptors/vbs/make_shortcut.vbs: `-icon` and `-hotkey` options
* changed: Scripts/Tools/std: del_file_pttn.bat, touch_dir.bat, touch_file.bat, x*_dir.bat, x*_file.bat: code cleanup
* changed: Scripts/Tools/std/is_dir_exist.bat: code improvement
* refactor: Scripts/Tools/build/check_vars.bat: cleanup
* refactor: Scripts/Tools/ToolAdaptors/vbs: *_shortcut.vbs: code refactor
2025.03.13:
* fixed: Scripts/Tools/ToolAdaptors/vbs/make_shortcut.vbs: missed to cleanup temporary shortcut file in case of error in the `MakeShortcut` function (`GetLink` method)
* new: Scripts/Tools/ToolAdaptors/vbs/make_shortcut.vbs: `-debug` flag to turn off global `On Error` handlers to debug immediate lines of an error
* refactor: Scripts/Tools/ToolAdaptors/vbs/*_shortcut.vbs: code cleanup
2025.03.12:
* fixed: Scripts/Tools/cleanup/cleanup_init_vars.bat: execution fixup in case of relative `PROJECT_LOG_ROOT`
2025.03.12:
* new: Scripts/Tools/std/declare_builtins.bat, Scripts/Tools/*.bat: update `?~` variable as script names call stack: `A.bat->...->Z.bat` instead of `Y.bat: Z.bat` or `Z.bat`
* changed: Scripts/Tools/*.bat: global code improvement to replace `echo.%?~nx0%` and `echo.%~nx0` calls by `echo.%?~%`
* changed: Scripts/Tools/*.bat: global code improvements
* refactor: Scripts/Tools/*.bat: global code refactor
2025.03.10:
* fixed: Scripts/Tools/ToolAdaptors/vbs/make_shortcut.vbs: `Unspecified error` (0x80004005) error in the `GetLink` method (empty shortcut wrong bytes write issue)
* changed: Scripts/Tools/ToolAdaptors/vbs/make_shortcut.vbs: avoid check on existence `WorkingDirectory` property if `-ignore-unexist` flag is used
2025.03.09:
* new: Scripts/Tools/ToolAdaptors/vbs/make_shortcut.vbs: `-desc` option to assign `Description` property
* new: Scripts/Tools/ToolAdaptors/vbs/make_shortcut.vbs: `-assign-target-to-desc`, `-dt` flags to use `TargetPath` to assign `Description`
2025.03.09:
* fixed: Scripts/Tools/ToolAdaptors/vbs/make_shortcut.vbs: volume paths support (`\\?\Volume{...}\...`)
* fixed: Scripts/Tools/ToolAdaptors/vbs/make_shortcut.vbs: missed to delete incomplete shortcut file after error in the `MakeShortcut` function in case of `GetLink` mode
2025.03.06:
* changed: README.md: link to discussions for usage examples
2025.03.06:
* fixed: Scripts/Tests/bench/batscripts/test_all.bat: missed child tests script call
* changed: Scripts/Tests/bench/batscripts/test_*.bat: code cleanup
* refactor: Scripts/Tools/*.bat: typo
2025.03.06:
* fixed: Scripts/Tools/ToolAdaptors/app/*.bat: execution fixup
2025.03.06:
* fixed: Scripts/Tools/exec/exec_*.bat: execution fixup around line end escaping
2025.03.05:
* changed: README.md: readme cleanup
2025.02.27:
* changed: Scripts/Tools/admin: moved to `contools--admin` project
* changed: _config: added `CONTOOLS_CMAKE_ROOT` variable
2025.02.17:
* new: Scripts/Tools/admin/TasksDisable/01_Telemetry/02_disable_telemetry_junk_win8.bat: more tasks to disable
* new: Scripts/Tools/admin/TasksDisable/02_Maintenance/02_disable_maintenance_win8.bat: more tasks to disable
* changed: Scripts/Tools/admin/TasksDisable/01_Telemetry/*_win7.bat: code rework and cleanup
* changed: _config: cleanup
* refactor: Scripts/Tools/admin/TasksDisable: joined `Telemetry` and `Maintenance`
2025.02.13:
* fixed: Scripts/Tools/build/load_cmdline.bat: leading white spaces trim
* fixed: Scripts/Tools/build/load_cmdline.bat: missed to unset output variable if a command line is empty
2025.02.13:
* fixed: *.bat: missed changes code fixup
* changed: *.bat: global code cleanup
* changed: Scripts/Tools/exec: code improvement
* refactor: *.bat: global code refactor
2025.02.12:
* fixed: Scripts/Tools/ToolAdaptors/vbs/set_fileshortname.bat: current directory restore
* changed: Scripts/Tools: *.bat: minor improvement
2025.02.11:
* fixed: Scripts/Tools/ToolAdaptors/hta/cmd_admin.bat: script variables leak into child process
* new: Scripts/Tools/std/is_system_elevated.bat: script checks System account privileges
* new: Scripts/Tools/ToolAdaptors/hta/cmd_admin_system.bat: script runs `psexec.exe` under UAC promotion using `mshta.exe` executable and command line to `COMSPEC` executable
* changed: Scripts/Tools/ToolAdaptors/hta/cmd_admin.bat: improved command line parse
* changed: Scripts/Tools/admin: 01_disable_*_win8.bat: scripts switched to use `cmd_admin_system.bat` and `is_system_elevated.bat` scripts
2025.02.07:
* changed: Scripts/Tools/std/setshift.bat: missed merge from `callshift.bat`
2025.02.03:
* changed: Projects, Output, Utilities: moved into `contools--utils` project
* changed: Scripts: *.bat: `CONTOOLS_UTILITIES_BIN_ROOT` variable renamed into `CONTOOLS_UTILS_BIN_ROOT`
* changed: README_EN.txt: readme update
* changed: ISSUES.txt: issues update
* changed: TODO.txt: todo update
2025.02.03:
* changed: README.md: github markdown blockquotes update
* refactor: README.md: minor refactor
2025.02.03:
* fixed: Scripts/Tools/ToolAdaptors/vbs/update_shortcut.vbs: missed change
2025.02.03:
* changed: .externals: switch `7zip` to `24_09_release` branch
2025.02.02:
* fixed: Scripts/Tools/admin/Maintenance/01_disable_maintenance_win8.bat: elevate to `System` account to circumvent Task Scheduler `The user account you are operating under does not have permission to disable this task.` error message
* new: Scripts/Tools/admin/Telemetry/01_disable_telemetry_junk_win8.bat: telemetry disable script from Microsoft and others
2025.01.31:
* fixed: Scripts/Tools/ToolAdaptors/vbs/make_shortcut.vbs: allow shortcut creation with empty `ShortcutTarget` value with or without `-obj` flag
* fixed: Scripts/Tools/ToolAdaptors/vbs/reset_shortcut.vbs: allow shortcut reassign with empty `TargetPath` value in case of `-obj` flag
* new: Scripts/Tools/ToolAdaptors/vbs/make_shortcut.vbs: `-ignore-empty` flag to ignore empty `ShortcutTarget` value
* new: Scripts/Tools/ToolAdaptors/vbs/reset_shortcut.vbs: `-obj` flag to handle shortcut `TargetPath` property value as an object string
* new: Scripts/Tools/ToolAdaptors/vbs/update_shortcut.vbs: `-obj` flag to handle shortcut `ShortcutTarget` value as an object string
* changed: Scripts/Tools/ToolAdaptors/vbs/update_shortcut.vbs: `ShortcutTarget` value must be always not empty in case of `-t` option
* changed: Scripts/Tools/ToolAdaptors/vbs/update_shortcut.vbs: script returns `-1` if nothing to update
* refactor: Scripts/Tools/ToolAdaptors/vbs/*_shortcut.vbs: comments refactor
2025.01.27:
* fixed: Scripts/Tools/*.bat, Utilities/bin/*.bat: corner cases fixup
2025.01.25:
* new: Scripts/Tools/admin/Maintenance/01_disable_maintenance_win8.bat: Windows 8 maintenance disable script
* refactor: Scripts/Tools/admin/Telemetry/01_disable_telemetry_junk_win7.bat: minor refactor
2025.01.24:
* fixed: Scripts/Tools/*.bat, Utilities/bin/*.bat: elevation execution fixup
2025.01.23:
* changed: Scripts/Tools/ToolAdaptors/hta: cmd_admin.bat, Samples/mshta_cmd_elevate.bat: improved arguments translation for the case where `\"` sequence already does exist as a part of a batch script command line
2025.01.23:
* fixed: Scripts/Tools/ToolAdaptors/vbs/make_shortcut.vbs: shortcut with an object target must be created with the `-obj` flag now
* fixed: Scripts/Tools/ToolAdaptors/vbs/*.vbs: check on empty command line arguments
* new: Scripts/Tools/ToolAdaptors/vbs/make_shortcut.vbs: `-obj` flag to handle shortcut `TargetPath` property value as an object string
* new: Scripts/Tools/ToolAdaptors/vbs/make_shortcut.vbs: `-ignore-unexist` flag to ignore shortcut `TargetPath` property path unexistence before shortcut creation if `-obj` is not used
* changed: Scripts/Tools/ToolAdaptors/vbs/*_shortcut.vbs: check file on a shortcut format in case of `-use-getlink` flag is used
* refactor: Scripts/Tools: ToolAdaptors/vbs/*_shortcut.vbs, locks/wait_*_access.bat: comments refactor
2025.01.22:
* new: Scripts/Tools/ToolAdaptors/hta/cmd_admin.bat: script runs `cmd.exe` under UAC promotion using `mshta.exe` executable
* new: Scripts/Tools/ToolAdaptors/hta/Samples/mshta_cmd_elevate.bat: batch script example for the uniform variant of a command line as a single argument for the `mshta.exe` executable and other cases
* changed: Scripts/Tools/ToolAdaptors/hta/Samples/cmd_admin.bat: removed as does not support nested quotes
2025.01.22:
* refactor: *.bat: author line remove
2025.01.21:
* fixed: Scripts/Tools/std: call.bat, callshift.bat: rare case where echo is turned off by `cmd.exe /Q ...` and `__STRING__` does exist before the call
2025.01.20:
* refactor: Scripts/Tools/Scripts/Tools/ToolAdaptors/vbs: minor refactor
2025.01.20:
* changed: Utilities/bin/contools/TODO.txt: todo update
* changed: TODO.txt: todo update
2025.01.17:
* changed: Scripts/Tools/std: xcopy_*.bat, xmove_*.bat: minor cleanup
2025.01.17:
* new: Deploy/notepad++/plugins/MultiReplace/tests/manual/replace_builtins.txt.*: manual tests
* changed: Deploy/notepad++/plugins/MultiReplace/Lists/contools/replace_builtins.csv: improved regexp
2025.01.16:
* changed: Scripts/Tools/std: xcopy_*.bat, xmove_*.bat: minor cleanup
2025.01.13:
* fixed: Scripts/Tools/std/canonical_path_if_def.bat: check variable's value after existence of a variable
2025.01.13:
* new: Scripts/Tools/std/canonical_path_if_def.bat: complementary of `canonical_path_if_ndef.bat`
2025.01.12:
* fixed: Scripts/Tools/std: xcopy_*.bat, xmove_*.bat: `/DCOPY:DAT` only available in `robocopy` from Windows 8+
2025.01.12:
* changed: Scripts/Tools/std/get_windows_version.bat: improved parse, removed temporary file usage
2025.01.09:
* fixed: README.md: `codacy` badge link
2025.01.08:
* changed: README.md: externals note update
2025.01.07:
* changed: Scripts/Tools/ToolAdaptors/app/curl: moved to `contools--curl` project
* changed: TODO.txt: todo cleanup
2025.01.07:
* new: Scripts/Tools/std: call.bat, callshift.bat: `-lockfile`, `-trylock`, `-lock-sleep-cmdline` options to use call with lock
* new: Scripts/Tests/manual/batscripts/test_std__*_call*_with_*lock.bat: manual tests with wait lock and try lock
* changed: Scripts/Tools/exec_once_or_exit.bat: removed because implemented in `call.bat` and `callshift.bat` scripts
2025.01.06:
* fixed: __init__: accidental code page change in an external `__init__.bat` script call
* fixed: Scripts/Tools/std/is_admin_elevated.bat, Scripts/Tools, Utilities/bin: workaround for the cmd pipe operator and `find.exe` utility (hangs) under Windows 7
* fixed: Scripts/Tools/build/init_vars_file.bat: correct `PROJECT_LOG_DIR` variable existence check
* fixed: Scripts/Tools/build/init_project_log.bat: suffix name parameter check on empty
2024.12.30:
* changed: README_EN.txt: reamoved lgtm badges as not used anymore
2024.12.26:
* fixed: Scripts/Tools/ToolAdaptors/vbs/update_shortcut.vbs: empty short path assign
* fixed: Scripts/Tools/ToolAdaptors/vbs/*_shortcut.vbs: minor fixup
2024.12.20:
* fixed: Scripts/Tools/ToolAdaptors/vbs/update_shortcut_props_from_dir.bat: avoid multiple shortcuts backup, minor fixup
* changed: Scripts/Tools/ToolAdaptors/vbs/update_shortcut_props_from_dir.bat: update all properties in a single call to `update_shortcut.vbs` script instead of a call per property
2024.11.22:
* fixed: Scripts/Tools/std: set_var.bat, expand_var*.bat: empty variable case usage
2024.11.22:
* new: Scripts/Tools/build/gen_config_dir.bat: script to generate configuration files from a directory into another directory using file globbing list
* new: Scripts/Tools/build/gen_config.bat: `skip_checks` flag to skip parameters checks
* changed: Scripts/Tools/build/gen_config.bat: execute `__init__.bat` only in case of the sed usage to speed up the execution
2024.11.21:
* fixed: Scripts/Tools/build/get_cmdline_len.bat: zero instead of negative length return
* fixed: Scripts/Tools/build/get_cmdline_var_len.bat: correct variable read in case of empty variable
* new: Scripts/Tools/build/get_cmdline_*len.bat: implemented `-skip <skip-num>` option to skip additional arguments before count
* new: Scripts/Tools/build/get_cmdline_*len.bat: implemented `-shift <shift>` option to shift additional arguments before count
2024.11.13:
* changed: Scripts/Tools/testlib/save_locals.bat: minor optimization based on the suggestion in the issue #3 (`Batch FOR-Loops EOL relies on a rare character`)
2024.11.07:
* new: *.bat: switch scripts from `type 2>nul` usage to `call` as the fastest variant (for reset ERRORLEVEL to 1)
2024.11.07:
* new: Scripts/Tests/bench/batscripts: test__call_*.bat, test__type_*.bat: bench tests for `call;` and `call` variants as an alternative to `type nul>nul` and `type 2>nul` to reset ERRORLEVEL to 0 and 1 respectively
2024.11.05:
* fixed: Scripts/Tools/build/load_config*.bat: execution fixup
* changed: Scripts/Tools/build/load_config_dir.bat: reverted incompatible config flags mix check, `-no_load_*_config` flags has now priority over other flags
2024.11.05:
* fixed: Scripts/Tools/std/mkdir*.bat: fixup of `for %%i in (%*)` statement issue with globbing characters
* changed: Scripts/Tools: std/mkdir*.bat, std/rmdir*.bat, build/mkdir*.bat: code cleanup
2024.11.04:
* changed: Scripts/Tools/build/load_config.bat: workaround for `for %%i in (%*)` statement issue with globbing characters
2024.11.04:
* changed: Scripts/Tools/build/load_config_dir.bat: prevent mix of incompatible config flags
2024.11.02:
* changed: Scripts/Tools/admin/RecentLists, TODO.txt: moved to `contools--recent-lists` project
2024.11.02:
* new: Scripts/Tools/build/gen_config.bat: output file expiration detection (by default now), added `-noexpire` flag to disable the expiration detection
2024.10.28:
* changed: *.bat: removed all `EOT` and `SOH` control characters as EOL characters in all `for /F "... eol= ..."` statements (https://github.com/andry81/contools/issues/3 : `Batch FOR-Loops EOL relies on a rare character`)
2024.10.17:
* fixed: Scripts/Tools/filesys/read_shortcut_target_path.bat: execution fixup
2024.10.16:
* fixed: Scripts/Tools/filesys/read_shortcut_target_path.bat: execution fixup
* new: Scripts/Tools/filesys/read_shortcut_target_path.bat: added `-print-stdout` flag to print property `name=value` expression after each read from stdout of all inner script calls
2024.10.16:
* changed: ISSUES.txt: issues update
2024.09.17:
* fixed: Scripts/Tools/ToolAdaptors/vbs/update_shortcut_props_from_dir.bat: print of wrong read property value
* changed: Scripts/Tools/ToolAdaptors/vbs/update_shortcut*.bat: code cleanup
2024.09.16:
* changed: Scripts/Tools/std: callshift.bat, setshift.bat, choice.bat: `-no_trim` renamed to `-notrim`
* changed: Scripts/Tools/std: callshift.bat, setshift.bat: workaround to avoid invalid `<shift>` parameter or invalid flag
2024.09.16:
* fixed: Scripts/Tools/std: call.bat, callshift.bat, setshift.bat, get_cmdline*.bat: #2: workarounds for specific builtin variable placeholders
* changed: Scripts/Tools/std/get_cmdline*.bat: missed merge from `callshift.bat` script
* refactor: Scripts/Tools/std: call.bat, callshift.bat, setshift.bat: minor refactor
2024.09.14:
* fixed: Scripts/Tools/std/touch_dir.bat: execution fixup
* fixed: Scripts/Tools/std/touch_file.bat: `type nul >> ...` code is replaced by `touch_file.vbs` script as the former does not work as expected on Windows XP
* new: Scripts/Tools/std/touch_file.vbs: vbs script to touch long path file
2024.09.14:
* fixed: Scripts/Tools/std/touch_dir.bat: temporary file delete by a long path
* fixed: Scripts/Tools/std/touch_file.bat: accidental file recreation with previous creation date
* fixed: Scripts/Tools/std/touch_file.bat: fall back to `type nul >> ...` for a long path without `robocopy` presence (Windows XP workaround)
* fixed: Scripts/Tools/std/del_*.bat: better long paths detection (but still can not delete a long path file)
* fixed: Scripts/Tools/std/touch_*.bat: better long paths detection
* new: Scripts/Tools/std/delete_file.vbs: vbs script to delete long path file
* new: Scripts/Tools/std/xremove_file.bat: script to delete long path file with a fall back implementation
* changed: Scripts/Tools/std/del_*.bat: added more verbosity
* changed: Scripts/Tools/std/touch_dir.bat: `xremove_file.bat` script usage
2024.09.11:
* changed: Scripts/Tools/locks/wait_dir_write_access.bat: temporary file name with extension
2024.09.08:
* new: Scripts/Tools/lock/sleep.vbs: vbs script to call Win32 `Sleep` function
* new: Scripts/Tools/lock/delete_file.vbs: vbs script to delete long path file
* changed: Scripts/Tools/lock/wait_*_write_access.bat: code improvements
* changed: Scripts/Tools/std/sleep.bat: minor change
* refactor: Scripts/Tools/lock/wait_*_write_access.bat: moved from `std` directory
2024.09.08:
* fixed: Scripts/Tests/bench/batscripts/test__*.bat: minor fixup
* new: Scripts/Tools/std/sleep.vbs: vbs script to call Win32 `Sleep` function
* new: Scripts/Tools/std/sleep.bat: `-vbs` flag to use `sleep.vbs` script as implementation
* new: Scripts/Tests/bench/batscripts/.test_std_sleep/test_std_sleep__*.bat: more bench tests
* refactor: Scripts/Tests/bench/batscripts/test_std_sleep__*.bat: moved into `.test_std_sleep` subdirectory
2024.09.08:
* fixed: Scripts/Tests/bench/batscripts: minor fixup
2024.09.08:
* fixed: Scripts/Tests/bench/batscripts/test__*.bat: minor fixup
* new: Scripts/Tests/bench/batscripts/test_std_sleep*.bat: bench tests for `sleep.bat` script
* changed: Scripts/Tools/std/sleep.bat: code improvement
2024.09.06:
* fixed: Scripts/Tools/std/call*.bat: empty command line workaround
* new: Scripts/Tests/manual/batscripts/test_std__*_calls*_with_tabs.bat: manual tests with tabulation characters
* refactor: Scripts/Tools/std/wait_*_write_acces.bat: minor improvement
2024.09.05:
* new: Scripts/Tools/std/wait_*_write_acces.bat: scripts to wait for a file, a directory or directory files on write access
2024.09.04:
* changed: Scripts/Tools/std: code cleanup
2024.09.03:
* fixed: Scripts/Tools/admin/Wincred/newcred.bat: single quote in arguments escape
2024.09.03:
* fixed: Scripts/Tools/admin/Junction: scripts fixup and improvement
2024.08.31:
* fixed: Scripts/Tools/admin/Wincred/newcred.bat: special characters in arguments workaround
2024.08.31:
* new: Scripts/Tools/admin/Wincred: Windows credentials maintain scripts
2024.08.29:
* changed: Scripts/Tools/exec/exec_*_prefix.bat: avoid reuse of `FLAG_SHIFT` variable
2024.08.29:
* fixed: Utilities/Projects/**/*.vcxproj: build fixup
2024.08.29:
* fixed: Scripts/Tools/std: call.bat, callshift.bat, get_cmdline.bat, get_cmdline_len.bat, setshift.bat: case where command line starts by `/?`
* fixed: Scripts/Tools/std: call.bat, callshift.bat, get_cmdline.bat, get_cmdline_len.bat, setshift.bat: case where the echo is turned off by `cmd.exe /Q` option
* fixed: BuildTools/TargetProject.PostBuildStep.bat: workaround for the turned off echo from the Visual Studio
2024.08.28:
* changed: Utilities/bin/contools/TODO.txt: todo update
2024.08.28:
* changed: **/__init__/script_init.bat: removed unnecessary `call` prefix in a parameter of all `callshift.bat` calls
* refactor: Scripts/Tools/ToolAdaptors/vbs/make_shortcut.vbs: minor refactor
2024.08.25:
* changed: Scripts/Tools/cleanup/cleanup_file.bat: `github_pat_*` added tokens cleanup
2024.08.25:
* changed: Scripts/Tools/ToolAdaptors/vbs: minor improvements
2024.08.23:
* fixed: Scripts/Tools/ToolAdaptors/vbs: make_shortcut.vbs, update_shortcut.vbs: case where `TargetPath` is set to a DOS path variant, `WorkingDirectory` does not exist and `Save` function fails to create/update a shortcut because of unexisted `WorkingDirectory` path
* fixed: Scripts/Tools/ToolAdaptors/vbs: make_shortcut.vbs, update_shortcut.vbs: circumvented unknown unicode characters conversion in paths into character `?`
* new: Scripts/Tools/ToolAdaptors/__init__/script_init.bat: added `EXEC_CALLF_PREFIX_NO_PAUSE_ON_EXIT` variable usage to skip default pause on exit in related scripts
* new: Scripts/Tools/ToolAdaptors/vbs/make_shortcut.vbs: `-use-getlink`, `-print-remapped-names` flags to use `GetLink` property additionally to `CreateShortcut` method to create shortcut properties
* new: Scripts/Tools/ToolAdaptors/vbs/reset_shortcut.vbs: `-use-getlink`, `-print-remapped-names` flags to use `GetLink` property instead of `CreateShortcut` method to read and update shortcut properties
* new: Scripts/Tools/ToolAdaptors/vbs/reset_shortcut.vbs: `-allow-dos-wd` flag to use `GetLink` property instead of `CreateShortcut` method to read and update shortcut properties
* new: Scripts/Tools/ToolAdaptors/vbs: make_shortcut.vbs, reset_shortcut.vbs, update_shortcut.vbs: `-print-assigned` flag to reread and print property value after the assignment
* new: Scripts/Tools/ToolAdaptors/vbs/reset_shortcut_from_dir.bat: `-use-getlink`, `-print-remapped-names` flags to use `GetLink` property instead of `CreateShortcut` method to read and update shortcut properties
* new: Scripts/Tools/ToolAdaptors/vbs/reset_shortcut_from_dir.bat: `-allow-dos-wd`, `-allow-dos-paths` flags to reread respective path after assign and if it does not exist, then reassign it by a reduced DOS path version
* new: Scripts/Tools/ToolAdaptors/vbs/update_shortcut.vbs: `-allow-paths-reassign` flag to allow reassign a path property in case of equal case insensitive path assign
* new: Scripts/Tools/ToolAdaptors/vbs/update_shortcut_props_from_dir.bat: `-print-remapped-names` flag to use `GetLink` property instead of `CreateShortcut` method to read and update shortcut properties
* new: Scripts/Tools/ToolAdaptors/vbs/update_shortcut_props_from_dir.bat: `-print-read` flag to print property read values before `update_shortcut.vbs` script call
* new: Scripts/Tools/ToolAdaptors/vbs: reset_shortcut_from_dir.bat, update_shortcut_props_from_dir.bat: `-print-assigned` flag to reread and print property value after assignment
* new: Scripts/Tools/ToolAdaptors/vbs/update_shortcut_props_from_dir.bat: `-no-allow-dos-wd` flag to do not allow working directory reset by a reduced DOS path version as by default
* new: Scripts/Tools/ToolAdaptors/vbs/update_shortcut_props_from_dir.bat: `-allow-wd-reassign`, `-allow-paths-reassign` flags to allow reassign respective path property in case of same path assign
* new: Scripts/Tools/ToolAdaptors/lnk/empty.lnk: empty shortcut example
* changed: Scripts/Tools/ToolAdaptors/vbs/reset_shortcut.vbs: partial merge from `update_shortcut.vbs` script
* changed: Scripts/Tools/ToolAdaptors/vbs: make_shortcut.vbs, reset_shortcut.vbs, update_shortcut.vbs, read_shortcut.vbs: common implementation
* changed: Scripts/Tools/ToolAdaptors/vbs/reset_shortcut.vbs, Scripts/Tools/ToolAdaptors/vbs/update_shortcut.vbs, Scripts/Tools/ToolAdaptors/vbs/update_shortcut_props_from_dir.bat: code improvement
* changed: ISSUES.txt: issues update
* refactor: Scripts/Tools: std/if_.bat, ToolAdaptors/vbs/update_shortcut_props_from_dir.bat: minor refactor
2024.08.20:
* new: Scripts/Tests/bench/batscripts: more `test__*.bat` tests
* new: Scripts/Tests/manual/batscripts/test_all.bat: all `test_*.bat` tests
* new: Scripts/Tests/unit/batscripts/test_all.bat: all `test_*.bat` tests
* changed: Scripts/Tests/bench/batscripts/test__all.bat: automatic test scripts detection by globbing pattern `test__*.bat`
* changed: Scripts/Tests/manual/batscripts/test_all.bat: automatic test scripts detection by globbing pattern `test_*.bat`
* changed: Scripts/Tests/unit/batscripts/test_all.bat: automatic test scripts detection by globbing pattern `test_*.bat`
* refactor: Scripts/Tests/*/batscripts: tests refactor
2024.08.20:
* fixed: Scripts/Tools/std/callshift.bat: accidental script exit in case of call a batch file without `call` prefix
* new: Scripts/Tools/std/call.bat: script to call the whole command line
* changed: Scripts/Tools/std: callshift.bat, setshift.bat: code improvement
2024.08.18:
* fixed: Scripts/Tools/std/echo_*.bat: avoid error level change
* changed: Scripts/Tools/std: echo_*.bat, set_var.bat: code improvement
* refactor: Scripts/Tools/std: echo_*.bat, get_cmdline*.bat: minor refactor
2024.08.18:
* fixed: Scripts/Tools/std: callshift.bat, setshift.bat: tabulation characters workaround for `-no_trim` flag
* changed: Scripts/Tools/std/encode/*.bat: tabulation character encode/decode support
2024.08.18:
* new: Scripts/Tests/bench/batscripts: test__type_nul_tempfile_single_redir.bat, test__copy_nul_tempfile_single_redir.bat: tests to compare stdout/stderr redirection slowdown for `type` and `copy` commands
* new: Scripts/Tests/bench/batscripts/test__all.bat: all `test__*.bat` tests
2024.08.18:
* fixed: Scripts/Tools/ToolAdaptors/vbs: read_path_all_props.vbs, read_path_props.vbs: early exit on empty property name
* refactor: Scripts/Tools/ToolAdaptors/vbs/read_path_props.vbs: minor cleanup
2024.08.16:
* fixed: Scripts/Tools/ToolAdaptors/vbs: read_shortcut.vbs, update_shortcut.vbs: execution fixup, `WindowStyle` property map onto `ShowCommand` in case of `GetLink` property usage
2024.08.16:
* new: Scripts/Tools/ToolAdaptors/vbs/read_shortcut.vbs: `-use-getlink` and `-print-remapped-names` flags to use `GetLink` property instead of `CreateShortcut` method to read shortcut properties
* new: Scripts/Tools/ToolAdaptors/vbs/update_shortcut.vbs: `-use-getlink` and `-print-remapped-names` flags to use `GetLink` property instead of `CreateShortcut` method to read and update shortcut properties
* new: Scripts/Tools/filesys/read_shortcut_target_path.bat: `-use_getlink` flag to use `GetLink` property instead of `CreateShortcut` method to read shortcut properties
* new: Scripts/Tools/ToolAdaptors/vbs/update_shortcut_props_from_dir.bat: `-use-getlink` flag to use `GetLink` property instead of `CreateShortcut` method to read and update shortcut properties
* changed: Scripts/Tools/ToolAdaptors/vbs/read_path_props.vbs: added `-use-extprop` flag to use `ExtendedProperty` method instead of `CreateShortcut` method to read shortcut `TargetPath` property
* refactor: Scripts/Tools/filesys/read_shortcut_target_path.bat: `-use_extended_property` flag renamed into `-use_extprop`
2024.08.16:
* fixed: Scripts/Tools/ToolAdaptors/vbs/update_shortcut_props_from_dir.bat: reimplemented using code base from `read_shortcut_target_path.bat` script as most reliable
* fixed: Scripts/Tools/ToolAdaptors/vbs/update_shortcut_props_from_dir.bat: `File Not Found` error message from `dir` command
* fixed: **/*.vbs: stdout and stderr write fail in case of not printable unicode origin character (`&H3F`)
* changed: Scripts/Tools: filesys/read_shortcut_target_path.bat, ToolAdaptors/vbs/update_shortcut_props_from_dir.bat: code cleanup
2024.08.15:
* new: Scripts/Tests/bench/batscripts: test__type_nul_tempfile.bat, test__copy_nul_tempfile.bat: tests to compare empty file creation over `type` and `copy` commands
* changed: Scripts/Tests/bench/batscripts: tests performance minor improvement
2024.08.15:
* fixed: Scripts: `File Not Found` error message from `dir` command
* refactor: Scripts/Tools/ToolAdaptors/vbs: code cleanup
2024.08.14:
* changed: Scripts/Tools/std/is_dir_exist.bat: improved to work with long paths
* refactor: Scripts/Tools/std/is_dir_exist.bat: moved from `filesys` subdirectory
2024.08.12:
* changed: Scripts/Tools/admin/ProductKey/WinReg.py: code cleanup
2024.08.11:
* fixed: builtins usage
* fixed: code cleanup, casual fixup
2024.08.11:
* new: Deploy/notepad++/plugins/MultiReplace/Lists/contools/replace_builtins.csv: builtin variables replacer in `contools` sources
* new: Deploy/notepad++/plugins/MultiReplace/Lists/README_EN.txt: readme
2024.08.08:
* changed: Scripts/Tests/bench/batscripts: added test groups, improved time print
2024.08.08:
* fixed: Scripts/Tools/ToolAdaptors/vbs/update_shortcut_props_from_dir.bat: must skip all backed up shortcuts including from old directories
2024.08.07:
* fixed: Scripts/Tools/ToolAdaptors/vbs/update_shortcut_props_from_dir.bat: must skip shortcuts from a directory with backed up shortcuts
* new: Scripts/Tools/ToolAdaptors/vbs/update_shortcut.vbs: `-backup-dir <dir-path>` option to explicitly set directory to store backed up shortcuts
* refactor: `bash_tacklelib` load global refactor
2024.08.02:
* fixed: **/__init__.sh: wrong parameters line for `tkl_include*` function call
2024.06.28:
* fixed: Scripts/Tools/ToolAdaptors/sh/detect_find.sh: `unset` in a function does unset a local variable and exposes an outer variable with the same name
2024.06.21:
* refactor: Scripts/Tools/std: xcopy_*.bat, xmove_*.bat: minor refactor
2024.06.20:
* fixed: Scripts/Tools/build: xcopy_*.bat, xmove_*.bat: execution fixup
* fixed: Scripts/Tools/build: xcopy_*.bat, xmove_*.bat: `/Y` flag into `robocopy` flags conversion
* fixed: Scripts/Tools/build/xmove_file.bat: avoid remove empty source directory in case of `robocopy` usage
* new: Scripts/Tools/build: xcopy_*.bat, xmove_*.bat: `-touch_dir`, `-touch_file` flags to touch target directories and/or files before move/copy
* new: Scripts/Tools/build: xcopy_*.bat, xmove_*.bat: `-use_robocopy` to exclusively use `robocopy`
* changed: Scripts/Tools/build: xcopy_*.bat, xmove_*.bat: always apply `-chcp` option before any command
* changed: Scripts/Tools/std: touch_*.bat, xcopy_*.bat, xmove_*.bat: removed `TEE` flag from all `robocopy` command lines, print cleanup
* changed: Scripts/Tools/build: xcopy_*.bat, xmove_*.bat: bare flags space prepend
* changed: ISSUES.txt: issues update
2024.06.19:
* fixed: Scripts/Tools/std/xmove_dir.bat: always imply flag `/E` in case of `robocopy`, because we always move an entire directory
2024.06.19:
* changed: Scripts/Tools/std/xmove_*.bat: check on accidental `/S` flag usage (applicable only in `xcopy_*.bat` scripts)
2024.06.18:
* new: Scripts/Tools/std/set_var.bat: script to set variable from another variable without error level change
2024.06.18:
* changed: ISSUES.txt: issues update
2024.06.18:
* new: Scripts/Tools/std/expand_var*.bat: scripts for variable expansion without error level change
2024.06.18:
* changed: Scripts/Tools/std/if_.bat: comment line of the expression to print the if expression as is
2024.06.18:
* new: Scripts/Tools/std/assert.bat: assertion script with an outer script execution stop
2024.06.18:
* new: Scripts/Tools/xcopy/convert_excludes_*.bat: new format for excludes conversion
2024.06.17:
* changed: Scripts/Tests/manual/batscripts: test_std__echo_path*_var.bat, test_std_encode__pathlist_chars*.bat: manual tests improvement
* changed: Scripts/Tests/bench/batscripts: test_std__echo_path*_var.bat, test_std_encode__pathlist_chars*.bat: bench tests improvement
2024.06.17:
* new: Scripts/Tools/std/echo_pathglob_var.bat: print a globbing path list variable used the `;` character as a separator
* new: Scripts/Tests/manual/batscripts/test_std__echo_pathglob_var.bat: manual tests for `echo_pathglob_var.bat` script
* new: Scripts/Tests/bench/batscripts/test_std__echo_pathglob_var.bat: bench tests for `echo_pathglob_var.bat` script
2024.06.17:
* new: Scripts/Tools/std/encode: encode_pathlist_chars_glob.bat, decode_pathlist_chars_glob.bat: characters encoder and decoder scripts to bypass control characters interference in path lists with globbing
* new: Scripts/Tests/manual/batscripts/test_std_encode__pathlist_chars_glob.bat: manual tests for `encode_pathlist_chars_glob.bat` and `decode_pathlist_chars_glob.bat` scripts
* new: Scripts/Tests/bench/batscripts/test_std_encode__pathlist_chars_glob.bat: bench tests for `encode_pathlist_chars_glob.bat` and `decode_pathlist_chars_glob.bat` scripts
* changed: Scripts/Tests/manual/batscripts/test_std_encode__pathlist_chars.bat: minor improvement
2024.06.17:
* new: Scripts/Tests/manual/batscripts/test_std__echo_path_var.bat: manual tests for `echo_path_var.bat` script
* new: Scripts/Tests/bench/batscripts/test_std__echo_path_var.bat: bench tests for `echo_path_var.bat` script
* changed: Scripts/Tests/manual/batscripts/test_std_encode__pathlist_chars.bat: minor improvement
* changed: Scripts/Tools/std/echo_path_var.bat: reimplemented through the character encoders
2024.06.17:
* new: Scripts/Tools/std/encode: encode_pathlist_chars.bat, decode_pathlist_chars.bat: characters encoder and decoder scripts to bypass control characters interference in path lists
* new: Scripts/Tests/manual/batscripts/test_std_encode__pathlist_chars.bat: manual tests for `encode_pathlist_chars.bat` and `decode_pathlist_chars.bat` scripts
* new: Scripts/Tests/bench/batscripts/test_std_encode__pathlist_chars.bat: bench tests for `encode_pathlist_chars.bat` and `decode_pathlist_chars.bat` scripts
* changed: Scripts/Tests/unit/batscripts/test_std_encode.bat: unit tests for `encode_pathlist_chars.bat` and `decode_pathlist_chars.bat` scripts
* refactor: Scripts/Tools/std/encode: minor refactor
2024.06.17:
* changed: Utilities/bin/contools/TODO.txt: todo update
2024.06.16:
* changed: Scripts/Tools: code cleanup, removed redundant `RESTORE_LOCALE` variable usage
2024.06.08:
* changed: README_EN.txt: readme update
2024.06.03:
* changed: Scripts/Tools/build/add_files_to_archive.bat: ability to directly use flag `-w`
2024.05.24:
* refactor: Scripts/Tools: minor refactor
2024.05.24:
* fixed: Scripts/Tools/build/extract_files_from_archives.bat: use `*` pattern to extract all files from an archive file
* changed: Scripts/Tools/build/extract_files_from_archives.bat: 7zip parameters reorder
* changed: Scripts/Tools/build/extract_files_from_archives.bat: allow globbing characters in a pattern parameter
2024.05.21:
* fixed: Scripts/Tools/std: callshift.bat, setshift.bat, xcopy_dir.bat, xcopy_file.bat, xmove_dir.bat, xmove_file.bat: flags parse
* fixed: Scripts/Tests: execution fixup
* new: Scripts/Tools/filesys/gen_dir_files_list*.bat: restore files from `contools.old` project
* new: Scripts/Tests/manual/batscripts/test_std__get_cmdline*.bat: `get_cmdline.bat` and `get_cmdline_len.bat` script tests
* new: Scripts/Tests/unit/batscripts/test_std__get_cmdline_var_len.bat: `get_cmdline_var_len.bat` script tests
* changed: Scripts/Tests/unit/batscripts/test_std__trim_var.bat: more tests
* refactor: Scripts/Tools, Scripts/Tests: code cleanup
2024.05.21:
* changed: Scripts/Tools/build: use `--` separator to split flags from positional command line
2024.05.21:
* changed: Scripts/Tools/std: `--` separator to stop parse flags
* refactor: Scripts/Tools: code cleanup
2024.05.21:
* changed: Scripts/Tests/manual/batscripts/test_std__*shift.bat: manual tests update
2024.05.21:
* changed: Scripts/Tools/std: callshift.bat, setshift.bat: minor improvement
2024.05.15:
* refactor: minor code cleanup
2024.05.15:
* fixed: Scripts/Tools/exec: exec_callf_prefix.bat, exec_terminal_prefix.bat: missed to pass `NEST_LVL` environment variable
2024.05.15:
* fixed: Scripts/Tools/std/set_vars_from_file.bat: exclude variables in case of WOW64 applications
2024.05.13:
* changed: ISSUES.txt: issues update
2024.05.06:
* fixed: Scripts/Tools/ToolAdaptors/vbs: scripts execution fixup
* changed: Scripts/Tools/ToolAdaptors/app/__init__/script_init.bat: script reuse
2024.05.02:
* changed: Scripts/Tools/std/trim_var.bat: improved left trim performance
* changed: Scripts/Tests/*/batscripts/test_std__trim_var.bat: improved `trim_var.bat` script tests
2024.04.30:
* new: Scripts/Tools/build: `NO_PRINT_LAST_BLANK_LINE` environment variable to externally control print of the last blank line
2024.04.30:
* fixed: replaced `net session` admin privileges check with more reliable variant
2024.04.30:
* changed: _config/config.system.vars.in: config update
2024.04.30:
* fixed: __init__/__init__.sh: execution fixup
2024.04.29:
* changed: old inactive scripts and tests extracted into `contools.old` project
* changed: README.md: readme update
2024.04.26:
* changed: Scripts/Tools/ToolAdaptors/app/github: moved to `contools--github` project
2024.04.26:
* changed: Scripts/Tools/build/gen_config.bat: improved implementation, added `-if_notexist` flag to generate only if the output config does not exist
* changed: __init__: minor improvement
2024.04.25:
* fixed: Scripts/Tools/std/allocate_temp_dir.bat: try to reallocate temporary directory before allocate a unique one
* changed: Scripts/Tools/std/allocate_temp_dir.bat: minor improvement
2024.04.25:
* changed: Scripts/Tools: flags parse code cleanup
2024.04.25:
* fixed: Scripts/Tools/std: allocate_temp_dir.bat, free_temp_dir.bat: locked temporary directory workaround through the directory name randomization
* changed: ISSUES.txt: issues update
2024.04.25:
* changed: README_EN.txt, README.md: readmes update
2024.04.24:
* changed: ISSUES.txt: issues update
2024.04.24:
* changed: Scripts/Tools/std/xcopy_file_rename.bat: avoid excessive prints without an operation from the script
2024.04.23:
* changed: Scripts/Tools: moved initialization code duplication into `script_init.bat` scripts
2024.04.14:
* fixed: Scripts/Tools/build/add_files_to_archive.bat: execution fixup
2024.04.14:
* fixed: Scripts/Tools/exec/exec_callf_prefix.bat: infinite recursion
2024.04.14:
* changed: Scripts/Tools/std/trim_var.bat: minor improvement
2024.04.14:
* fixed: Scripts/Tools/build/load_config.bat: variables expansion
* fixed: Scripts/Tests/manual/betscripts/*.bat: tests run in case of broken `load_config.bat` script
* fixed: Scripts/Tests/unit/betscripts/test_build__load_config.bat: tests pass for variable expansion with `!` and `^` characters mixed with `"` characters
* new: Scripts/Tests/manual/betscripts/test_build__load_config_01.bat: `load_config.bat` script manual test
* new: Scripts/Tests/unit/betscripts/test_build__load_config.bat: more test cases for variable expansion with `!`, `^` and `"` characters
* changed: Scripts/Tests/manual/betscripts/*.bat: must function without `__init__.bat` call now
* changed: Scripts/Tools/build/load_config.bat: reimplemented and optimized
2024.04.12:
* fixed: Scripts: `@dir %...%` incorrect expansion in the `for /F ... (`...`) do ...` expression
2024.04.11:
* fixed: Scripts/Tools/std: callshift.bat, setshift.bat: accident space character at the end of the command line
* fixed: Scripts/Tools/std/trim_var.bat: execution fixup
* fixed: Scripts/Tools/testlib, Scripts/Tests/unit/batscripts, Scripts/Tests/manual/batscripts, Scripts/Tests/bench/batscripts: execution fixup
* new: Scripts/Tools/std/encode: encode_*.bat, decode_*.bat: characters encoder and decoder scripts to bypass control characters interference in certain conditions
* new: Scripts/Tools/std: callshift.bat, setshift.bat: support all control characters handle using the characters encoder and decoder scripts
* new: Scripts/Tools/std: callshift.bat, setshift.bat: `-exe` flag to use the executable command line encoder instead of the batch as by default
* new: Scripts/Tests/unit/batscripts/test_std_encode.bat: unit tests for characters encoder and decoder scripts
* new: Scripts/Tests/manual/batscripts/test_std_encode__*.bat: manual tests for characters encoder and decoder scripts
* new: Scripts/Tests/bench/batscripts/test_std_encode__*.bat: bench tests for characters encoder and decoder scripts
* changed: Scripts/Tools/std/trim_var.bat: reimplemented
* changed: Scripts/Tools/std/strlen.bat: code optimization
2024.04.09:
* fixed: global scripts fixup
* fixed: Scripts/Tools/registry: reg*.bat: invalid filter for abbrivated registry hive classes
* new: __init__/canonical_path_if_ndef.bat, Scripts/Tools/std/canonical_path_if_ndef.bat: `canonical_path.bat` script variant
* new: Scripts/Tools/cmake: canonical_path.bat, canonical_path_if_ndef.bat: `canonical_path.bat` script variants for cmake
* new: Scripts/Tools/build: call.bat, callln.bat, callsub.bat: call with command line print scripts
* new: Scripts/Tools/build: mkdir.bat, mkdir_if_notexist.bat, mkdir_if_notexist_strict.bat: `mkdir` command replacement as more reliable build script variant
* new: Scripts/Tools/build: xcopy_dir.bat, xcopy_file.bat, xmove_dir.bat, xmove_file.bat: build pipeline script variants
* new: Scripts/Tools/std: mkdir.bat, mkdir_if_notexist.bat, mkdir_if_notexist_strict.bat: `mkdir` command replacement as more reliable user script variant
* new: Scripts/Tools/std/call_if_exist.bat: call command line if first argument exists
* new: Scripts/Tools/std/del_file_if_exist.bat: `del_file.bat` script variant
* new: Scripts/Tools/std: if_defined.bat, if_var_defined*.bat: `if_.bat` script variants
* new: Scripts/Tools/std: rmdir.bat, rmdir_if_exist.bat, rmdir_if_exist_strict.bat: `rmdir` command replacement as more reliable script variant
* changed: __init__/canonical_path.bat, Scripts/Tools/std/canonical_path.bat: added parameters checks
* changed: use `SCRIPT_TEMP_CURRENT_DIR` variable instead of `TEMP` if defined
* changed: reduced `get_wmic_local_datetime.bat` script usage
* changed: global scripts rework, optimization and code cleanup
* refactor: global scripts refactor
2024.03.25:
* fixed: Scripts/Tools/std: touch_file.bat, touch_dir.bat: scripts execution fixup
2024.03.24:
* new: Scripts/Tools/std: touch_file.bat, touch_dir.bat: `touch` command scripts
2024.03.21:
* fixed: Scripts/Tools/filesys/read_shortcut_target_path.bat: execution fixup
* new: Scripts/Tools/filesys/read_shortcut_target_path.bat: added `-retry_extended_property` flag to use second method to request target path with unicode characters
2024.03.20:
* new: Scripts/Tools/filesys/read_shortcut_target_path.bat: added `TARGET_PATH_STDOUT_FILE` and `TARGET_PATH_STDERR_FILE` variables usage to avoid files creation/deletion
2024.03.20:
* fixed: Scripts/Tools/filesys/read_shortcut_target_path.bat: missed UTF-16LE stderr output
2024.03.20:
* fixed: Scripts/Tools/filesys/read_shortcut_target_path.bat: unicode shortcut paths read
2024.03.15:
* refactor: Scripts/Tests/manual/utilities/contools/callf: tests refactor
2024.03.14:
* fixed: Scripts/Tools/std/choice.bat: missed to restore the choice variable
* new: Scripts/Tests/manual/utilities: `callf` utility manual tests
* changed: Scripts/Tools/exec: exec_callf_prefix.bat, exec_terminal_prefix.bat: code cleanup
2024.03.14:
* changed: Scripts/Tests: code cleanup
2024.03.14:
* refactor: Scripts/Tests/unit: bash scripts moved into `bashscripts` subdirectory
2024.03.14:
* fixed: Scripts/Tools/std/choice.bat: missed to return `choice.exe` exit code
2024.03.14:
* fixed: Scripts/Tools/exec: exec_callf_prefix.bat, exec_terminal_prefix.bat: control signal handling
2024.03.14:
* new: Utilities/bin/contools: binaries update
2024.03.14:
* fixed: Utilities/src/callf: revised control signals handling
* new: Utilities/src/callf: added `/disable-ctrl-c-signal-no-inherit` to avoid a child process attribute inheritance
* changed: Utilities/src/callf/version.def: version increment
2024.03.14:
* changed: ISSUES.txt: issues update
2024.03.13:
* new: Scripts/Tools/std/choice.bat: the choice utility wrapper, falls back to `set /P ...` if the utility does not exist (Windows XP 32-bit SP3)
2024.03.13:
* new: Scripts/Tools/std: callshift.bat, setshift.bat: added `-no_trim` flag to avoid shifted command line trim
* new: Scripts/Tests/manual/batscripts: `callshift.bat` and `setshift.bat` script manual tests
* changed: Scripts/Tools/std: callshift.bat, setshift.bat: minor improvements
2024.03.13:
* refactor: `PROJECT_LOG_FILE_NAME_SUFFIX` rename to `PROJECT_LOG_FILE_NAME_DATE_TIME`
2024.03.13:
* fixed: Scripts/Tools/build/load_config.bat: execution fixup
* new: Scripts/Tests/unit/batscripts/test_build__load_config.bat: `load_config.bat` script unit tests
* new: Scripts/Tests/bench/batscripts/test_build__load_config_01.bat: `load_config.bat` script bench test
2024.03.12:
* changed: Scripts/Tools/std/trim_var.bat: reverted to previous implementation as ~x2 faster
2024.03.12:
* changed: Scripts/Tools/std/trim_var.bat: execution fixup
2024.03.12:
* changed: README_EN.txt: readme update
2024.03.12:
* new: Scripts/Tests/manual/batscripts/test_std__trim_var.bat: `trim_var.bat` script manual tests
* new: Scripts/Tests/bench/batscripts/test_std__trim_var.bat: `trim_var.bat` script bench tests
* changed: Scripts/Tools/std/trim_var.bat: revised implementation for faster and less error prone execution
* changed: Scripts/Tests/bench/batscripts: code cleanup
2024.03.07:
* changed: __init__: minor improvements
* changed: Scripts/Tools/build: check_config_expiration.bat, load_config*.bat: minor improvements
2024.03.06:
* fixed: Scripts/Tools/build/load_config.bat: variable's attributes read fixup
* fixed: Scripts/Tools/build/load_config*.bat: execution fixup
2024.03.01:
* changed: _config: switched all configs to use uniform config files loader
2024.03.01:
* changed: Scripts/Tools/ToolAdaptors/vbs/read_pe_header_bitness.vbs: minor cleanup
2024.03.01:
* new: Scripts/Tools/build/load_config*.bat: reimplemented config files loader in favor of uniform and fast parser
* changed: Scripts/Tools/build/load_config*.bat: removed the fast and full parser implementations
* changed: Scripts/Tests: removed tests for the fast and full parser implementations
* changed: switched all scripts to use uniform config files loader
2024.02.28:
* changed: Scripts/Tools/build/load_config_dir.bat: code improvements
2024.02.26:
* new: Scripts/Tools/build/load_cmdline.bat: script to load command line from file
* changed: Scripts/Tools: minor code cleanup
2024.02.25:
* fixed: __init__/__init__.sh: minor fixup
* changed: *.sh: removed all negations to avoid return not zero return code on success
2024.02.25:
* fixed: __init__/__init__.sh: execution fixup
* changed: __init__/__init__.sh: removed all negations to avoid return not zero return code on success
* changed: __init__/__init__.sh: moved inclusion guard to the end
* changed: Scripts/Tools/build/load_config.bat: minor improvement
2024.02.23:
* changed: Scripts/Tools/build/gen_config.bat: by default always generate even if output file does exist
2024.02.23:
* new: Scripts/Tools/build/gen_config.bat: special `$/<char>` sequence to pass `<char>` character as is (ex: `$/\x22` translates into `\x22` - a quote character)
2024.02.19:
* fixed: Scripts/Tools/exec/exec_terminal_prefix.bat: missed to pass `INIT_VARS_FILE` variable if `/load-parent-proc-init-env-vars` flag is used
2024.02.19:
* fixed: Scripts/Tools/exec/exec_*_prefix.bat: infinite recursion around unsetted `IMPL_MODE` variable
* fixed: Scripts/Tools/exec/exec_terminal_prefix.bat: missed to pass `CONTOOLS_ROOT` variable if `/load-parent-proc-init-env-vars` flag is used
* changed: Scripts/Tools/exec/exec_*_prefix.bat: code cleanup
2024.02.18:
* changed: Scripts/Tools/std: xcopy_*.bat, xmove_*.bat: code cleanup
2024.02.17:
* changed: Scripts/Tools/admin/WindowsServices/MicrosoftOffice: another service
2024.02.17:
* fixed: Scripts/Tools/ToolAdaptors/vbs: read_path*.vbs: drive root path case
2024.02.17:
* fixed: Scripts/Tools/ToolAdaptors/vbs/read_path_all_verbs.vbs: script to read a path all verb values
2024.02.17:
* fixed: Scripts/Tools/ToolAdaptors/vbs: read_path*_props.vbs: handle case without parent path
2024.02.14:
* fixed: Utilities/bin/wshbazaar/wshdynacall/*register.bat: pause skip in case of script early exit
* changed: Scripts/Tools/admin/WindowsServices/*.bat: added request of Administrative privileges and pause
* changed: Scripts/Tools/ToolAdaptors: code cleanup
* changed: README_EN.txt: readme update
2024.02.14:
* changed: ISSUES.txt: issues update
2024.02.13:
* new: Scripts/Tools/admin/VirtualBox/compact_vdi.bat: read the installation directory from the registry
2024.02.13:
* new: Utilities/bin/wshbazaar/wshdynacall: binaries update
2024.02.13:
* fixed: Utilities/src/wshbazaar/wshdynacall: Windows XP execution fixup, replaced `RegDeleteTree` function as existed only in Windows Vista+ by `SHDeleteKey` function as supported by Windows XP+
2024.02.13:
* fixed: Utilities/Projects/wshdynacall.vcxproj: post build fixup
* fixed: Utilities/bin/wshbazaar/wshdynacall/*register.bat: missed to pass arguments in case of register/unregister from 32-bit cmd.exe process
* new: Scripts/Tools/ToolAdaptors/vbs: set_fileshortname.vbs, set_fileshortname_*.bat: scripts to set a file short name
* new: Scripts/Tools/ToolAdaptors/vbs: get_fileshortpath.*: scripts to get a file short path
* new: Utilities/bin/wshbazaar/README_EN.txt: readme file
* new: Utilities/bin/wshbazaar/wshdynacall/dynwrap.dll: original binary component
* new: Utilities/doc: site and related pages
* changed: Utilities/Projects/wshdynacall.vcxproj: switched to `Visual Studio 2017 - Windows XP (v141_xp)` Platform Toolset
* changed: Utilities/src/wshbazaar/wshdynacall/version.def: version increment
* changed: Utilities/bin/contools/README_EN.txt: readme update
2024.02.12:
* changed: ISSUES.txt: issues update
2024.02.12:
* new: Utilities/bin/contools: binaries update
2024.02.12:
* fixed: Utilities/src/callf: missed messages reprint into attached and new console
2024.02.12:
* fixed: Utilities/src/callf: `/load-parent-proc-init-env-vars` flag fixup
* fixed: Utilities/src/callf: `SetEnvironmentStrings*` functions existence check and usage
2024.02.12:
* changed: Utilities/Projects: switched to `Visual Studio 2017 - Windows XP (v141_xp)` Platform Toolset
2024.02.07:
* fixed: Scripts/Tools/ToolAdaptors/vbs/read_pe_header_bitness.vbs: errors handle
2024.02.06:
* changed: Utilities/bin/contools/TODO.txt: todo update
2024.02.06:
* refactor: Scripts/Tools/ToolAdaptors/vbs: added related resources urls
2024.02.06:
* new: Scripts/Tools/ToolAdaptors/vbs/get_drives_list.*: scripts to get list of drives and drive properties
* refactor: Scripts/Tools/ToolAdaptors/vbs: comments cleanup
2024.02.04:
* new: Scripts/Tools/build/check_config_expiration.bat: configuration files expiration check script
* changed: Scripts/Tools/cmake/check_config_version.bat: moved into `check_config_expiration.bat` script
* changed: Scripts/Tools/build/load_config.bat: `check_config_expiration.bat` script usage
2024.02.04:
* new: __init__/check_vars.bat: variables existence check from `__init__` directory
* changed: Scripts/Tools: `check_vars.bat` script usage
2024.02.03:
* new: Scripts/Tools/build/check_vars.bat: script to check variable existence
2024.02.03:
* fixed: Scripts/Tools/ToolAdaptors/vbs/update_shortcut_props_from_dir.bat: execution fixup
2024.02.03:
* changed: Scripts/Tools/ToolAdaptors/javascript: moved from `tacklelib` project
2024.02.02:
* fixed: Scripts/Tools/ToolAdaptors/sh/detect_find.sh: missed trim of trailing line feed characters
* fixed: Scripts/Tools/ToolAdaptors/sh/detect_find.sh: paths insensitive comparison
2024.02.02:
* fixed: Scripts/Tools/build/load_config.bat: execution fixup
2024.01.25:
* changed: Scripts/Tools/encoding/prepend_bom_to_utf_file.bat: execution speed improvements
2024.01.23:
* changed: Scripts/Tools/admin/VirtualBox/compact_vdi.bat: improvements
* changed: Scripts/Tools/admin/VisualStudio/README_EN.txt: readme update
* refactor: Scripts/Tools/admin: minor refactor
2024.01.23:
* changed: Scripts/Tools/ToolAdaptors/notepadplusplus: moved to `contools--notepadplusplus` project
* changed: README_EN.txt: readme update
2024.01.21:
* new: Scripts/Tools/filesys/read_shortcut_target_path.bat: script wrapper to read a Windows shortcut file target path property value
2024.01.19:
* new: Scripts/Tools/ToolAdaptors/vbs/read_path_*.vbs: added `-val-only`, `-val-decor-only`, `-val-null`, `-val-notempty`, `-ignore-unexist`, `-line-return` and other flags
* changed: Scripts/Tools/ToolAdaptors/vbs/read_path_*.vbs: script flags behavior
2024.01.18:
* new: Scripts/Tools/filesys/read_path_props.bat: script wrapper to read a path property values
2024.01.18:
* new: Scripts/Tools/ToolAdaptors/vbs/read_path_*.*: scripts to read a path properties
2024.01.17:
* new: Utilities/bin/wshbazaar/wshdynacall/*register.bat: register/unregister scripts
2024.01.17:
* changed: Scripts/Tools/ToolAdaptors/hta/call.hta: minor change
2024.01.16:
* changed: ISSUES.txt: issues update
2024.01.14:
* new: Scripts/Tools/ToolAdaptors/hta/call.hta: script to execute a command line through the `WScript.Shell.Run` using `mshta`
2024.01.13:
* changed: Utilities/bin/contools/TODO.txt: todo update
2024.01.12:
* changed: Scripts/Tools/std/get_cmdline.bat: reimplementation based on `setshift.bat` script
2024.01.11:
* changed: `read_args_to_var.bat` script is replaced by more reliable `setshift.bat` script
2024.01.11:
* fixed: Scripts/Tools/std/callshift.bat: minor fixup
* new: Scripts/Tools/std/setshift.bat: added script to set a variable to a command line formed from shifted arguments as an alternative variant to shift the `%*` parameter in scripts
2024.01.11:
* new: Scripts/Tools: filesys/read_msi_summary_bitness.bat, ToolAdaptors/vbs/read_msi_summary_template.*: added scripts to read MSI package bitness from a binary file
2024.01.11:
* fixed: wrong order of `start` parameters which does ignore the `/WAIT`
2024.01.08:
* changed: Scripts/Tools/hash/gen_file_hash_cvs.bat: code cleanup
2024.01.08:
* fixed: Scripts/Tools/filesys/reduce_relative_path.bat: execution fixup
2024.01.06:
* new: Scripts/Tools/filesys/is_dir_exist.bat: script can check a directory existence in case of Read permissions deny on a directory.
2024.01.05:
* changed: Scripts/Tools/std/callshift.bat: minor details
2024.01.04:
* fixed: Scripts/Tools/std/callshift.bat: `FLAG_SHIFT` variable must not be accepted from outside, because in case of `callshift.bat` script, it must not be affected by external value
2024.01.03:
* fixed: Scripts/Tools/std/callshift.bat: execution fixup, case with disappear of quoted equal sign (`"="`)
* new: Scripts/Tools/std/callshift.bat: implemented `-skip <skip-num>` option to skip additional arguments
2024.01.03:
* fixed: Scripts/Tools: missed to call `declare_builtins.bat` script if IMPL_MODE=1
* changed: Scripts/Tools: remove call to `__init__.bat` if IMPL_MODE=1 (the initialization must be called from the script which did set IMPL_MODE)
* changed: Scripts/Tools/build/extract_files_from_archive.bat: added usage of `callshift.bat` to pass mixed arguments from the `%*` variable
2024.01.03:
* new: Scripts/Tools/std/callshift.bat: implemented negative shift as skip of first N used arguments from the `%*` variable (ex: `call callshift.bat -3 command %%3 %%2 %%1 %%*`)
2024.01.02:
* fixed: Scripts/Tools/std/set_vars_from_file.bat: execution fixup, additional drop `?` prefixed variables
2024.01.02:
* fixed: Scripts/Tools/build/extract_files_from_archives.bat: execution fixup
2024.01.02:
* new: Scripts/Tools/std/callshift.bat: added script to call a command on shifted arguments as an alternative variant to shift the `%*` parameter in scripts
* changed: Scripts/Tools: callargs.bat, callshift.bat: removed previous implementation as new implementation is more reliable and universal
2024.01.02:
* changed: Scripts/Tools/std/errlvl.bat: more examples and details
2023.12.30:
* changed: Scripts/Tools/ToolAdaptors/app/git/git_unmirror_refs.bat: moved to `gitcmd` project
2023.12.30:
* fixed: Scripts/Tools/wmi: minor fixup
* new: Scripts/Tools: filesys/read_pe_header_bitness.bat, ToolAdaptors/vbs/read_pe_header_bitness.*: added scripts to read PE header bitness from binary files
2023.12.29:
* changed: Scripts/Tools: msys/msysver.bat, cygwin/cygver.bat: removed `setvarfromstd.bat` usage
* refactor: Scripts/Tools: msys/msysver.bat, cygwin/cygver.bat: moved scripts to standalone directories
2023.12.10:
* fixed: Scripts/Tools/exec/exec_callf_prefix.bat: execution fixup
2023.12.10:
* fixed: __init__: missed to retarget externals of externals
2023.12.10:
* refactor: Scripts/Tools/admin: `__init__.bat` scripts moved into `__init__` subdirectory
2023.12.09:
* fixed: __init__, Scripts/Tools: execution fixup for Windows XP
* fixed: Scripts/Tools/build/load_config.bat: execution fixup
* new: Scripts/Tools/build: gen_config.bat, load_config*.bat: scripts description
* changed: Scripts/Tools/build/.load_config/load_config.lite_parse.bat: code cleanup
2023.12.07:
* new: Scripts/Tools/build/load_config.bat: added check on configuration files expiration between input and output using file last modification time and exact comparison of first `#%% version: ...` lines to avoid load of expired configuration files
* changed: Scripts/Tools/build/load_config_dir.bat: minor improvements
2023.12.07:
* changed: _config/config.system.vars.in, Scripts/Tools: added `CONTOOLS_WMI_ROOT` variable to address WMI scripts directly
2023.12.07:
* fixed: Scripts/Tools/wmi: execution fixup
* new: Scripts/Tools/wmi/get_wmic_local_datetime_z.bat: added script to request local datetime including zone offset
* new: Scripts/Tools/wmi/get_wmic_file_lastmodifiedtime.bat: added script to request a file last modification time
2023.12.05:
* fixed: Scripts/Tools/ToolAdaptors/vbs/*_shortcut.vbs: short paths equality comparison fixup
* fixed: Scripts/Tools/ToolAdaptors/vbs/*_shortcut.vbs: a directory shortcut make and update fixup
* fixed: Scripts/Tools/ToolAdaptors/vbs/update_shortcut.vbs: equality detection fixup in case of disallowed paths reassign (`-allow-target-path-reassign` and `-allow-wd-reassign` is not used)
* new: Scripts/Tools/ToolAdaptors/vbs/*_shortcut.vbs: change current directory for long paths through short path
* new: Scripts/Tools/ToolAdaptors/vbs/make_shortcut.vbs: added `-p[rint-assing]` flag to print before property assignment
* changed: Scripts/Tools/ToolAdaptors/vbs/*_shortcut.vbs: code improvements
2023.12.04:
* fixed: Scripts/Tools/ToolAdaptors/vbs/*_shortcut.vbs: execution fixup
* new: Scripts/Tools/ToolAdaptors/vbs/update_shortcut.vbs: added shortcut auto backup and `-no-backup` flag to disable shortcut backup before save
* new: Scripts/Tools/ToolAdaptors/vbs/read_shortcut.vbs: read long path shortcut through short path
* new: Scripts/Tools/ToolAdaptors/vbs/make_shortcut.vbs: create long path shortcut through short path
* new: Scripts/Tools/ToolAdaptors/vbs/make_shortcut.vbs: long path WorkingDirectory conversion to short path
* new: Scripts/Tools/ToolAdaptors/vbs/update_shortcut.vbs: update long path shortcut through short path
* new: Scripts/Tools/ToolAdaptors/vbs/update_shortcut.vbs: long path WorkingDirectory conversion to short path
* refactor: Scripts/Tools/ToolAdaptors/vbs/*_shortcut.vbs: code refactor
2023.12.04:
* fixed: Scripts/Tools/ToolAdaptors/vbs/*.bat: use `cscript.exe //nologo` prefix to bypass the case where `*.vbs` extension is registered to open an editor
* new: Scripts/Tools/ToolAdaptors/vbs/read_shortcut.bat: missed script
2023.12.04:
* fixed: Scripts/Tools/std: xcopy_*.bat, xmove_*.bat: execution fixup
2023.11.28:
* new: Scripts/Tools/ToolAdaptors/hta/Samples/cmd_admin.bat: example of a batch script to use `mshta` to self execute a batch script in elevated environment if started in not elevated environment
2023.11.23:
* changed: Scripts/Tools/build/extract_files_from_archives.bat: code cleanup
2023.11.23:
* fixed: __init__: check externals directory existence before externals initialization
2023.11.23:
* fixed: Scripts/Tools/cleanup/cleanup_log.bat: execution fixup
* new: Scripts/Tools/build/extract_files_from_archives.bat: merged `extract_files_from_archive.bat` and `extract_files_from_archives_by_pttn.bat` scripts into `extract_files_from_archives.bat` script
* changed: Scripts/Tools: minor improvements
* changed: Utilities/bin/contools/README_EN.txt: readme update
2023.11.21:
* new: Scripts/Tools/std: xcopy_*.bat, xmove_*.bat: translated `/Y` flag from builtin `move` and `xmove.exe` command line into `robocopy.exe` command line
* changed: Scripts/Tools/std: xcopy_*.bat, xmove_*.bat: removed `ROBOCOPY_COPY_FLAGS` and `ROBOCOPY_DCOPY_FLAGS` variables explicit user definition, use `ROBOCOPY_FLAGS` environment variable to explicitly declare the rest `robocopy.exe` flags
* changed: Scripts/Tools/std: xcopy_*.bat, xmove_*.bat: minor improvements
* refactor: Scripts/Tools/std: xcopy_*.bat, xmove_*.bat: code refactor
2023.11.20:
* fixed: Scripts/Tools/std/xmove_dir.bat: ignore `/E` for builin `move` command
* fixed: Scripts/Tools/std/xmove_*.bat: execution fixup
* new: Scripts/Tools/std/xmove_dir.bat: added `-ignore_existed` flag to enable move-to-merge mode
* changed: Scripts/Tools/std: xcopy_*.bat, xmove_*.bat: minor improvements
2023.11.13:
* changed: TODO.txt: todo update
2023.10.26:
* fixed: Scripts/Tools/ToolAdaptors/vbs: make_shortcut.vbs, update_shortcut.vbs: missed changes, execution fixup
* new: Scripts/Tools/ToolAdaptors/vbs/update_shortcut.vbs: added `-allow-target-path-reassign` flag to assign target path if has the same path
* new: Scripts/Tools/ToolAdaptors/vbs/update_shortcut.vbs: added `-t-suffix <ShortcutTargetSuffix>` option to append a shortcut target suffix value if <ShortcutTarget> does not exist
* changed: Scripts/Tools/ToolAdaptors/vbs/update_shortcut_props_from_dir.bat: usage of `update_shortcut.vbs` new flags and options
* changed: Scripts/Tools/ToolAdaptors/vbs/update_shortcut.vbs: redirect all message prints into stdout and stderr respectively
* changed: Scripts/Tools/ToolAdaptors/vbs/update_shortcut.vbs: skip shortcut save if nothing is changed
* changed: Scripts/Tools/ToolAdaptors/vbs/update_shortcut_props_from_dir.bat: code cleanup
* refactor: Scripts/Tools/ToolAdaptors/vbs/update_shortcut.vbs: code refactor
2023.10.24:
* new: Scripts/Tools/std/cast_to_int.bat: added script to cast string variables to integer value
2023.10.22:
* new: Scripts/Tools/ToolAdaptors/gitextensions/plink-agent.vbs.cmdline: command line for vbs variant of the `plink-agent.bat` script
* changed: Scripts/Tools/ToolAdaptors/vbs/exec-cmdline.vbs: added executable variant for a path relative to the script directory (`/executable`)
* changed: Scripts/Tools/ToolAdaptors/gitextensions/README_EN.txt: readme update
2023.10.17:
* fixed: Scripts/Tools/build/extract_files_from_archive.bat: execution fixup
2023.10.17:
* fixed: *.bat: workarounded issue around `if exist "...\"` by `if exist "...\*"`
2023.10.16:
* fixed: Scripts/Tools/std/xcopy_*.bat: `/COPY:DAT` and `/DCOPY:DAT` now used by default in case of `robocopy.exe` usage to avoid alter of files and directories modification date and time
* new: Scripts/Tools/std/xmove_*.bat: move/rename only version of `xcopy_*.bat` scripts to avoid alter of files and directories modification date and time
* changed: Scripts/Tools/std: xcopy_*.bat, xmove_*.bat: remove input and output paths validate on trailing character absence
2023.10.15:
* new: Scripts/Tools/admin/Junction: scripts to list, read and recreate junction points
2023.10.10:
* changed: Utilities/bin/contools/TODO.txt: todo update
2023.10.07:
* new: Scripts/Tools/ToolAdaptors/vbs: *_shortcut.vbs, reset_shortcut_from_dir.bat: added `-allow-dos-target-path` flag to allow target path reset by a reduced DOS path version
* new: Scripts/Tools/ToolAdaptors/vbs/update_shortcut_props_from_dir.bat: added `-no-allow-dos-target-path` flag to not allow target path reset by a reduced DOS path version as by default
2023.10.06:
* changed: Utilities/bin/contools/TODO.txt: todo update
2023.10.06:
* changed: ISSUES.txt: issues update
2023.10.02:
* changed: Utilities/bin/contools/TODO.txt: todo update
2023.10.01:
* new: Scripts/Tools/ToolAdaptors/lnk/chcp.com.lnk: example of minimalistic shortcut file to `.com` extension executable (not `.pif` extension)
2023.10.01:
* fixed: Utilities/src/callf: Win32 API functions dynamic load because of compatibility with Windows XP
* fixed: Utilities/src/callf: missed to collect early printed messages
* changed: Utilities/src/callf: store size of allocated shared memory block in the beginning of a block (`/load-parent-proc-init-env-vars` flag implementation)
* changed: Utilities/bin/contools/README_EN.txt: readme update
* changed: Utilities/src/contools/version.def: version increment
* changed: ISSUES.txt: issues update
* new: Utilities/src/callf: added `/enable-wow64-fs-redir` as opposite to `/disable-wow64-fs-redir`
* new: Utilities/src/callf: added `/print-dyn-dll-load-errors` to explicitly print dynamic DLL load errors
2023.09.30:
* changed: Utilities/bin/contools/TODO.txt: todo update
2023.09.30:
* new: Utilities/bin/contools: binaries update
2023.09.30:
* fixed: Utilities/src/printf: execution fixup
* changed: Utilities/src: exit codes reworked
2023.09.29
* fixed: Utilities/Projects/*.vcxproj: missed to remove intermediate build files
* new: Utilities/src/thlibautocfg: added `-h <file-path-template>` option to split output into files with less than 64K length (or at least 1 line) included into the main output file
* new: Utilities/src/thlibautocfg: added `-m <output-file-line-template>` option to insert into the main output file a custom template lines (`-h ...` option must be used)
* new: Utilities/src/_common/std: c++ template and overload functions over std c functions
* changed: Utilities/src, BuildTools: switched to use recent version of `thlibautocfg tool`
* changed: Utilities/src/_common/std: reimplemented functions with `std::tstring` type into templated functions
* changed: Utilities/src/*/version.def: versions increment
* refactor: Utilities/src/thlibautocfg: code refactor
* refactor: Utilities/src: moved files generation into `gen` subdirectory
2023.09.26:
* changed: ISSUES.txt: issues update
2023.09.23:
* fixed: Scripts/Tools/exec/exec_terminal_prefix.bat: MinTTY execution fixup
* new: Scripts/Tools/exec/exec_terminal_cleanup.bat: standalone terminal cleanup script
* new: Scripts/Tools/exec/exec_mintty_prefix.bat: standalone mintty terminal startup script
* changed: Scripts/Tools/exec/exec_terminal_prefix.bat: reimplemented MinTTY startup to workaround weird and broken MSys2 command line escape rules
2023.09.23:
* fixed: Scripts/Tools/exec/exec_*_prefix.bat: execution fixup, reverted change
2023.09.23:
* changed: Utilities/bin/contools/TODO.txt: todo update
2023.09.22:
* fixed: Scripts/Tools/exec/exec_*_prefix.bat: execution fixup, not zero return code issue workaround reimplementation by `errlvl.bat` script
2023.09.22:
* changed: Utilities/bin/contools/TODO.txt: todo update
2023.09.22:
* changed: Scripts/Tools/std/errlvl.bat: reimplemented with the not zero exit code issue workaround
* changed: Utilities/bin/contools/README_EN.txt: readme update
* refactor: Scripts/Tools/std/errlvl.bat: moved to the `std` subdirectory
2023.09.21:
* changed: Utilities/bin/contools/TODO.txt: todo update
2023.09.20:
* fixed: Scripts/Tools/exec/exec_*_prefix.bat: rare issue when a script returns not zero return code but `callf /pause-on-exit-if-error /ret-child-exit "" "cmd.exe /c @myscript.bat ..."` does not pause on exit, returns zero exit code and the console window closes up on script exit
* changed: Scripts/Tools/exec/exec_*_prefix.bat: code cleanup
2023.09.20:
* changed: Utilities/bin/contools/README_EN.txt: readme update
2023.09.20:
* changed: TODO.txt, Utilities/bin/contools/TODO.txt: todo update
2023.09.19:
* changed: Scripts/Tools/exec/exec_*_prefix.bat: execution fixup
2023.09.19:
* changed: TODO.txt: todo update
2023.09.17:
* fixed: Scripts/Tools: `FLAG_SHIFT` usage
* fixed: Scripts/Tools/build/init_project_log.bat: `NO_LOG_OUTPUT` usage
* changed: Scripts/Tools/exec: command line rearrange
2023.09.16:
* changed: Scripts/Tools: usage of `NO_GEN`, `NO_LOG` and `NO_LOG_OUTPUT` environment variables to disable files and directories generation and logging
2023.08.15:
* fixed: Scripts/Tools/exec/exec_*_prefix.bat: accidental last exit code reset
2023.08.14:
* fixed: Scripts/Tools/ToolAdaptors/vbs/update_shortcut.vbs: TargetPath proper unquotation before quotation reapply
* fixed: Scripts/Tools/ToolAdaptors/vbs/reset_shortcut.vbs: shortcut target path reassign must not apply if TargetPath does not exist and `-ignore-unexist` flag is not used
* fixed: Scripts/Tools/ToolAdaptors/vbs/reset_shortcut.vbs: WorkingDirectory reset from TargetPath in case if TargetPath is a directory
* new: Scripts/Tools/ToolAdaptors/vbs/reset_shortcut.vbs: `-reset-*` flags and a reset logic is extracted from `update_shortcut.vbs` script
* new: Scripts/Tools/ToolAdaptors/vbs/reset_shortcut.vbs: added `-reset-target-path-from-wd` flag to reset TargetPath from WorkingDirectory property
* new: Scripts/Tools/ToolAdaptors/vbs/reset_shortcut.vbs: added `-reset-target-path-from-desc` flag to reset TargetPath from Description property
* new: Scripts/Tools/ToolAdaptors/vbs/reset_shortcut.vbs: added `-reset-target-name-from-file` flag to reset TargetPath from shortcut file name
* new: Scripts/Tools/ToolAdaptors/vbs/reset_shortcut.vbs: added `-reset-target-drive-from-file-path` flag to reset TargetPath from shortcut file drive
* new: Scripts/Tools/ToolAdaptors/vbs/reset_shortcut.vbs: added `-allow-auto-recover` flag to allow auto detect and recover broken shortcut
* new: Scripts/Tools/ToolAdaptors/vbs/reset_shortcut.vbs: added `-allow-target-path-reassign` flag to allow TargetPath reassign if not been assigned
* new: Scripts/Tools/ToolAdaptors/vbs/reset_shortcut.vbs: added `-allow-wd-reassign` flag to allow WorkingDirectory reassign if not been assigned
* changed: Scripts/Tools/ToolAdaptors/vbs/make_shortcut.vbs: check if shortcut file does not exist
* changed: Scripts/Tools/ToolAdaptors/vbs/make_shortcut.vbs: removed `-reassign-target-path` flag because implemented as `-allow-target-path-reassign` in `reset_shortcut.vbs` script and so is not required anymore
* changed: Scripts/Tools/ToolAdaptors/vbs: update_shortcut.vbs, reset_shortcut.vbs: check if shortcut file does exist
* changed: Scripts/Tools/ToolAdaptors/vbs: update_shortcut_props_from_dir.bat, reset_shortcut_from_dir.bat: `-reset-*` flags and reset logic moved into `reset_shortcut_from_dir.bat` script
2023.08.13:
* new: Scripts/Tools/exec/exec_callf_prefix.bat: added `-no-log` to turn off the logging
2023.08.11:
* changed: Scripts/Tools/exec/exec_*_prefix.bat: made logic of `-init_vars_file` flag as builtin
* changed: Scripts/Tools/exec/exec_terminal_prefix.bat: made logic of `-enable_msys_slash_escape` flag as builtin
* changed: Scripts/Tools/ToolAdaptors: removed usage of `-init_vars_file` flag
2023.08.11:
* fixed: Scripts/Tools/exec/exec_terminal_prefix.bat: avoid use `/detach-inherited-console-on-wait` flag on Windows 8+ as not stable
* changed: Scripts/Tools/exec/exec_*_prefix.bat: always print win32 error system description string
* changed: Utilities/src/callf: minor fixup
2023.08.10:
* new: Scripts/Tools/exec/exec_terminal_prefix.bat: added `-init_vars_file` flag to pass variable `INIT_VARS_FILE` into `callf` utility
2023.08.10:
* fixed: Scripts/Tools/exec/exec_callf_prefix.bat: execution fixup in case of elevation/unelevation
2023.08.07:
* changed: ISSUES.txt: issues update
2023.08.07:
* changed: Utilities/src/callf: use `/no-esc` as standalone flag and always use it in case of elevation/unelevation
2023.08.04:
* changed: TODO.txt: todo update
2023.08.02:
* new: Scripts/Tools/ToolAdaptors/gitextensions/plink-agent.bat: added script to use in the GitExtensions to enable usage of the Putty ssh agent with the Pageant
* new: Scripts/Tools/ToolAdaptors/gitextensions/README_EN.txt: readme for usage details
2023.07.14:
* fixed: Scripts/Tools/ToolAdaptors/lnk/install_system64_link.bat: missed `CONTOOLS_SYSINTERNALS_ROOT` variable existence check
2023.07.13:
* new: Scripts/Tools/ToolAdaptors/sh/detect_find.sh: standalone script to detect `find.exe` in Windows behind `$SYSTEMROOT\System32\find.exe`
2023.07.13:
* new: Scripts/Tools/ToolAdaptors/vbs/update_shortcut_props_from_dir.bat: added `-m[atch] <MATCH_STRING>` option to explicitly match a property value
* new: Scripts/Tools/ToolAdaptors/vbs/update_shortcut_props_from_dir.bat: added `-d[elete]` flag to explicitly delete a property value
* new: Scripts/Tools/ToolAdaptors/vbs/update_shortcut_props_from_dir.bat: added `-ignore-unexist` flag to ignore unexisted property file path
* new: Scripts/Tools/ToolAdaptors/vbs/update_shortcut_props_from_dir.bat: added `-no-skip-on-empty-assign` flag to not skip on property empty value assign
* new: Scripts/Tools/ToolAdaptors/vbs/update_shortcut_props_from_dir.bat: added `-use-case-compare` flag to use case sensitive compare
* new: Scripts/Tools/ToolAdaptors/vbs/update_shortcut_props_from_dir.bat: added `-p[rint-assign]` flag to print property assignment
* changed: Scripts/Tools/ToolAdaptors/vbs/reset_shortcut_from_dir.bat: minor changes
2023.07.11:
* changed: ISSUES.txt: extracted issues from the `Utilities/bin/contools/TODO.txt` file and updated
* changed: Utilities/bin/contools/TODO.txt: merged from the `dev` branch and extracted issues into `ISSUES.txt` file
* changed: Utilities/src/callf/help.tpl: description update
2023.06.28:
* changed: *.bat: switched from explicit `{` character escape to `/no-esc` flag usage in all `callf*.exe` command lines
2023.06.28:
* new: ISSUES.txt: added issues text file
* changed: TODO.txt: todo update
2023.06.27:
* new: Utilities/bin/contools: binaries update
* changed: Utilities/src/callf/version.def: version increment
2023.06.27:
* new: Utilities/src/callf: added the regular `/disable-backslash-esc`, `/no-esc` flags to disable all backslash escapes, added the same flag into `<ParentFlags>` and `<ChildFlags>` options
* changed: Utilities/src/callf: changed behaviour of the regular `/no-expand-env` flag to affect all this- processes by default, added the same flag into `<ParentFlags>` and `<ChildFlags>` options
* changed: Utilities/src/callf: changed behaviour of the regular `/allow-expand-unexisted-env` flag to affect all this- processes by default, added the same flag into `<ParentFlags>` and `<ChildFlags>` options
* changed: Utilities/src/callf: flags and options validation messages refactor
* changed: Utilities/src/callf/help.tpl: more details, added terms section
* refactor: Utilities/Projects: cleanup
2023.06.25:
* new: Scripts/Tools/exec/exec_terminal_prefix.bat: moved from `tacklebar` project
* changed: Scripts/Tools/exec/exec_callf_prefix.bat: added `-elevate` option to execute under Administrator privileges with single console
* changed: Scripts/Tools/exec/exec_terminal_prefix.bat: merge with `exec_callf_prefix.bat` script
* changed: Scripts/Tools/exec: exec_callf_prefix.bat, exec_terminal_prefix.bat: `FLAG_SHIFT` does not reset if already defined
2023.06.24:
* changed: Utilities/bin/contools/TODO.txt: todo update
* changed: Utilities/src/callf/help.tpl: cleanup
2023.06.11:
* fixed: Scripts/Tools/ToolAdaptors/vbs/update_shortcut_props_from_dir.bat: fixed case where `WorkingDirectory` property does reset from `TargetPath` when `TargetPath` is failed to assigned after string replace
* new: Scripts/Tools/ToolAdaptors/vbs/update_shortcut_props_from_dir.bat: added `-ignore-unexist` flag to skip check `TargetPath` and `WorkingDirectory` property values on file existence
* new: Scripts/Tools/ToolAdaptors/vbs/update_shortcut.vbs: added `-ignore-unexist` flag to skip check `TargetPath` and `WorkingDirectory` property values on file existence
* new: Scripts/Tools/ToolAdaptors/vbs/update_shortcut.vbs: added `TargetPath` and `WorkingDirectory` property values auto unquote
* changed: Scripts/Tools/ToolAdaptors/vbs/update_shortcut_props_from_dir.bat: now script always checks `TargetPath` and `WorkingDirectory` on existence if `-ignore-unexist` flag is not set
* changed: Scripts/Tools/ToolAdaptors/vbs/update_shortcut.vbs: now script always checks `TargetPath` and `WorkingDirectory` on existence if `-ignore-unexist` flag is not set
2023.06.04:
* changed: TODO.txt: update todo
2023.06.04:
* fixed: Scripts/Tools/exec/exec_callf_prefix.bat: use `/shift-<N>` option to shift positional arguments
2023.06.04:
* new: Utilities/bin/contools: binaries update
2023.06.04:
* new: Utilities/src/callf: added `/shift-<N>` option to shift positional arguments
2023.06.04:
* fixed: Utilities/Projects: build fixup
2023.05.20:
* fixed: README.md: description minor fixup
* refactor: README.md: replaced `blob/master` to `tree/HEAD` in all links as not dependent on specific branch name
2023.05.20:
* changed: Scripts/Tools/wmi: minor details
2023.05.12:
* changed: Scripts/Tools: switched to use `exec_callf_prefix.bat` script
2023.05.12:
* new: Scripts/Tools/cleanup: cleanup scripts
* new: Scripts/Tools/exec/exec_callf_prefix.bat: script to execute callf as a prefix and run cleanup scripts on exit
2023.05.12:
* changed: Scripts/Tools/ToolAdaptors: switched to use `set_vars_from_file.bat` script
2023.05.12:
* new: Scripts/Tools/std: set_vars_from_file.bat, set_vars_from_locked_file.bat: scripts to load variables from a file using exclusion list with builtin and specific custom variables
2023.05.11:
* new: _config: preparation of config files for cmake build
2023.05.11:
* new: Scripts/Tools/admin/RecentLists/cleanup_totalcmd.bat: added Total Commander recent lists cleanup
* new: Scripts/Tools/admin/RecentLists/lists/README_EN.txt: lists format readme file
* changed: Scripts/Tools/admin/RecentLists: minor improvements
2023.05.10:
* changed: Utilities/src/callf/help.tpl: more details
* changed: Utilities/bin/contools/TODO.txt: todo update
2023.05.10:
* fixed: Scripts/Tools/build/load_config_dir.bat: keep load if `<config>.in` file is not found, but `<config>` is found
2023.05.10:
* new: Scripts/Tools/build/load_config_dir.bat: added `no_load_system_config` flag to ignore load of system config
2023.05.08:
* changed: Utilities/bin/contools/TODO.txt: todo update
2023.04.24:
* refactor: _config/config.system.vars.in, Scripts/Tools/arc/7zip/7z.bat: utilities extraction post cleanup
2023.04.22:
* refactor: Utilities/bin/xmlstarlet: xmlstarlet toolkit is moved to external repository
2023.04.22:
* refactor: Utilities/bin/wkhtmltopdf: wkhtmltox toolkit is moved to external repository
2023.04.22:
* refactor: Utilities/bin/thomaspolaert: Thomas Polaert cecho utility is moved to external repository
2023.04.22:
* changed: Scripts/Tools/touch.bat: minor change
* refactor: Utilities/bin/stevemiller, .externals, _config/config.system.vars.in: Steve P. Miller console toolbox utilities is moved to external repository
2023.04.22:
* refactor: Utilities/bin/ss64.net: Frank P. Westlake utilities is removed as not required anymore
2023.04.22:
* refactor: Utilities/bin/sqlite, .externals, _config/config.system.vars.in: sqlite utilities moved to external repository
2023.04.22:
* changed: Scripts/Tools/cmake: date/time as a directory name prefix instead of as a suffix
2023.04.22:
* changed: Scripts/Tools: uuidgen utility usage replaced by wmic utility usage
* refactor: Utilities/bin/Microsoft: uuidgen utility is removed as not required anymore
2023.04.22:
* refactor: Utilities/bin/pstools, Utilities/bin/sysinternals, .externals, _config/config.system.vars.in: sysinternals toolkit moved to external repository
2023.04.22:
* refactor: Utilities/bin/hashdeep, .externals, _config/config.system.vars.in: hashdeep utilities moved to external repository
2023.04.22:
* refactor: Utilities/bin/7zip, .externals, _config/config.system.vars.in: 7zip utilities moved to external repository
2023.04.20:
* fixed: README.md: static badges address change
2023.04.18:
* fixed: Scripts/Tools/ToolAdaptors/vbs/update_shortcut_props_from_dir.bat: execution fixup
2023.04.18:
* new: Scripts/Tools/admin/Activation: added scripts for free Windows 8/8.1 activation using `msguides.com` site
2023.04.11:
* changed: Scripts/Tools/ToolAdaptors/app/qbittorrent: .update_registry_to_run_as_user/update_registry_to_run_as_user.update.bat, _config/config.0.vars.in: `QBITTORRENT_EXECUTABLE` variable preprocess
2023.04.07:
* new: Scripts/Tools/admin/Telemetry/05_disable_telemetry_junk_win7.bat: added another disable script
2023.04.06:
* fixed: Scripts/Tools/std/echo_path_var.bat: `*`, `?` character parse workaround (left the globbing feature as is, use `^*` and `^?` instead to bypass the globbing)
* fixed: Scripts/Tools/std/echo_*var.bat: unexisted variable returns code `255`, but empty one returns `1`
2023.04.04:
* changed: README_EN.txt: readme update
2023.04.03:
* new: Scripts/Tools/std/echo_path_var.bat: print a path list variable used the `;` character as a separator
* changed: Scripts/Tools/std/echo_var.bat: reimplemented to a simplified version
2023.03.21:
* new: Scripts/Tools/ToolAdaptors/vbs: update_shortcut_props_from_dir.bat: added `-reset-wd` flag as shorter version of `-reset-wd-from-target-path`
* changed: Scripts/Tools/ToolAdaptors: app/github/backup_*.bat, vbs/reset_shortcut_from_dir.bat: added usage description
* changed: Utilities/bin/contools/TODO.txt: todo update
2023.03.16:
* new: Scripts/Tools/ToolAdaptors/vbs: update_shortcut.vbs, reset_shortcut_from_dir.bat: added `-p[rint-assign]` flag to print all assignments
* new: Scripts/Tools/ToolAdaptors/vbs: update_shortcut.vbs, reset_shortcut_from_dir.bat: added `-reset-wd` flag as shorter version of `-reset-wd-from-target-path`
* changed: Scripts/Tools/ToolAdaptors/vbs: code cleanup
2023.03.04:
* new: Scripts/Tools/admin/DeviceManager/run_devmgmt.bat: script to run Device Manager with nonpresent hidden devices to uninstall inactive devices
2023.03.03:
* new: Scripts/Tools/admin/VirtualBox/README_EN.txt: tcp and udp port forwarding details
* changed: Scripts/Tools/admin/VirtualBox/README_EN.txt: readme cleanup
2023.03.01:
* new: Scripts/Tools/admin/VirtualBox/README_EN.txt: VirtualBox shared VPN setup
2023.02.21:
* changed: Scripts/Tools/admin: KnownIssues/admin_*.txt, ProductKey/admin_*.txt, Steam/README_EN.txt, Telemetry/admin_*.txt, VisualStudio/README_EN.txt, README_EN.txt: readme cleanup
* changed: Utilities/bin/contools/README_EN.txt: readme cleanup
* changed: README_EN.deps.txt, README.md: readme update
2023.02.19:
* new: Scripts/Tools/admin/FireFox/default-shell-open-commands.reg: Firefox default shell open commands to open shortcuts in private browsing by default to avoid cookies usage from 3dparty applications
2023.02.19:
* new: Scripts/Tools/ToolAdaptors/vbs/exec-cmdline.vbs: script to run command line from `<ScriptName>.cmdline` file
2023.02.13:
* changed: README_EN.txt: changed primary and secondary repository source
* changed: README.md: readme update
2023.02.11:
* changed: svn related files cleanup
2023.02.11:
* changed: .externals: added usage of `vcstool` fork (https://github.com/plusone-robotics/vcstool) project to port `svn:externals` dependencies from svn into git
* changed: .gitlinks: removed usage of `git-links` (https://github.com/chronoxor/gil) project because found as not acceptable for usage: https://github.com/chronoxor/gil/issues/6, https://lore.kernel.org/git/1716310675.20230122233403@inbox.ru
* changed: README.md: readme update
2023.02.08:
* new: Scripts/Tools/admin/RecentLists: added scripts and pattern lists of registry keys to cleanup recent (file) lists in the windows registry for various applications
* changed: Scripts/Tools/registry/regquery.bat: bug comment "too long values would be empty"
2023.02.05:
* changed: Scripts: *.bat: don't suppress stderr on directory list command
2023.02.01:
* new: Scripts/Tools/build/init_project_log.bat: added `PROJECT_LOG_DIR_NAME`, `PROJECT_LOG_FILE_NAME` variables to address currently logging file and directory names
2023.01.15:
* changed: Utilities/bin/contools/TODO.txt: todo update
2023.01.06:
* new: .gitlinks: added usage of `git-links` (https://github.com/chronoxor/gil) project to port `svn:externals` dependencies from svn into git
* changed: subgit import from svn, branches rework, cleanup of svn related files
2022.12.22:
* fixed: Scripts/Tools/ToolAdaptors/vbs/update_shortcut.vbs: avoid reset on shortcuts to existed directory with initially empty `WorkingDirectory` property
2022.12.21:
* new: Scripts/Tools/ToolAdaptors/vbs: reset_shortcut_from_dir.bat, update_shortcut.vbs, update_shortcut_props_from_dir.bat: added `-reset-wd-from-target-path` to reset `WorkingDirectory` from `TargetPath` property instead of direct assign (`-WD` argument is ignored in this case)
* refactor: Scripts/Tools/ToolAdaptors/vbs: minor refactor
2022.12.21:
* fixed: Scripts/Tools/ToolAdaptors/vbs/update_shortcut_props_from_dir.bat: execution fixup
* refactor: Scripts/Tools/ToolAdaptors/vbs: minor refactor
2022.12.20:
* new: Scripts/Tools/admin/KnownIssues: added `admin_windows7_virtualbox_known_issues.txt` file for VirtualBox known issues under Windows 7
2022.12.20:
* fixed: Scripts/Tools: scripts execution fixup
2022.12.20:
* changed: Utilities/bin/contools/TODO.txt: todo update
2022.11.06:
* changed: Scripts/Tools/ToolAdaptors/app/emule/backup_part_met_files.bat: added `*.met.bak` files into backup together with `*.met` files
2022.11.03:
* fixed: Scripts/Tools: execution fixup
2022.10.27:
* refactor: Scripts/Tools: `TOOLS_VERBOSE` usage refactor
2022.10.27:
* fixed: Scripts/Tools/hash: execution fixup
2022.10.27:
* changed: Utilities/bin/7zip: updated `7zip` up to version `22.01` for 32-bit and 64-bit (console only)
2022.10.27:
* new: Scripts/Tools/arc/7zip: `7z.bat` script to automatically select `7z.exe` executable dependent on `cmd.exe` bitness
* changed: Scripts/Tools: switch to `7z.bat` script usage
* changed: Utilities/bin/contools/TODO.txt: todo update
2022.10.25:
* changed: Scripts/Tools/std/mkdir*.bat: print only before immediate directory creation, use `TOOLS_VERBOSE` variable to print script command line
2022.10.25:
* fixed: Scripts/Tools/build/load_config.bat: `-gen_config` option must imply `-load_output_config`
2022.10.22:
* changed: Scripts/Tools/admin/ProductKey/admin_windows7_product_key_manipulation.txt: added `known issues` section
2022.10.17:
* changed: Utilities/bin/contools/TODO.txt: todo update
2022.10.15:
* new: Scripts/Tools: added `NO_GEN` and `NO_LOG` environment variables to disable files and directories generation and logging
* new: Scripts/Tools/ToolAdaptors/bat/start_app_at_system_date.bat: always set `NO_GEN` variable to disable files and directories generation
2022.10.14:
* fixed: Scripts/Tools/admin/VisualStudio: `--update` flag usage fixup
2022.10.14:
* changed: Scripts/Tools/admin/VisualStudio: new Visual Studio 2017/2019/2022 layout create/run uniform scripts and readme
2022.10.10:
* new: Scripts/Tools/ToolAdaptors/lnk: added set of standalone batch scripts to generate `cmd.exe` shortcut file in the temporary directory and run from it
* changed: Scripts/Tools/ToolAdaptors/lnk/runas_admin.bat: renamed because is obsolete
2022.09.27:
* changed: Scripts/Tools/admin/ProductKey/admin_windows7_product_key_manipulation.txt: added install/activation details
2022.09.26:
* new: Scripts/Tools/ToolAdaptors/vbs: call.vbs, winshell_call.vbs: `-q-sep` option for explicit command line arguments separator characters
2022.09.25:
* fixed: Scripts/Tools/ToolAdaptors/app/qbittorrent/update_registry_to_run_as_user.bat: minor fixup
2022.09.14:
* fixed: Scripts/Tools/ToolAdaptors: fixed script call in case if `INIT_VARS_FILE` variable is not defined
2022.09.07:
* changed: Scripts/Tools/ToolAdaptors/app/qbittorrent/update_registry_to_run_as_user.bat: no need to use `REG_EXPAND_SZ` with `callf` as long as it can expand environment variables on its own
2022.09.05:
* new: Scripts/Tools/ToolAdaptors/app: config: added `RUN_AS_USER` variable to use in `APPDATA` and `LOCALAPPDATA`
* new: Scripts/Tools/ToolAdaptors/app/qbittorrent: added `update_registry_to_run_as_user.bat` to update qbittorrent file associations to run the application under different user
* changed: Scripts/Tools/ToolAdaptors/app: __init__: always use and check `APPDATA` and `LOCALAPPDATA` variables
* changed: Scripts/Tools/ToolAdaptors/app/qbittorrent: __init__: always use and check `QBITTORRENT_EXECUTABLE` variable
* changed: Utilities/bin/contools/README_EN.txt: readme update
* changed: Utilities/bin/contools/TODO.txt: todo update
2022.09.05:
* changed: Utilities/bin/contools/README_EN.txt: readme update
2022.09.05:
* fixed: Scripts/Tools/build/init_project_log.bat: missed to ignore project log path reinit if `PROJECT_LOG_DIR` or `PROJECT_LOG_FILE` been already defined
2022.09.03:
* fixed: Scripts/Tools/build/extract_files_from_archives_by_pttn.bat: missed change
2022.08.23:
* new: Scripts/Tools: admin/WindowsServices, ToolAdaptors/vbs: added Window Master Control Panel feature
2022.08.12:
* fixed: Scripts/Tools/ToolAdaptors/vbs: reset_shortcut_from_dir.bat: execution fixup in case of `)` characters in arguments
* new: Scripts/Tools/ToolAdaptors/vbs: call.vbs, winshell_call.vbs: `-re*` options for early replace additionally to `-r*` options for late replace
2022.08.06:
* new: Scripts/Tools: mkdir_if_notexist_strict.bat: added scripts to check for a directory existence including disconnected directory links, return an error on a directory link disconnection state, return an error on a directory link drive unexistence/disconnection
2022.08.06:
* fixed: __init__.bat: fixed case for the `mkdir` command when a directory can exist as a disconnected directory link but still exist as a directory path (report it with the warning)
* new: Scripts/Tools: mkdir_if_notexist.bat: added script to check for a directory existence including disconnected directory links, print a warning on a directory link disconnection state, return an error on a directory link drive unexistence/disconnection
* changed: __init__.bat: replaced `mkdir` calls by `mkdir_if_notexist.bat` script
2022.07.31:
* changed: Scripts/Tools/ToolAdaptors/vbs: *_shortcut.vbs: details update
2022.07.24:
* fixed: Scripts/Tools/std/getcp.bat: script execution fixup
* fixed: Scripts/Tools/ToolAdaptors/vbs/update_shortcut_props_from_dir.bat: missed to reread CURRENT_CP variable from current code page value
* changed: Utilities/bin/contools/TODO.txt: todo update
2022.07.24:
* fixed: Scripts/Tools/ToolAdaptors/vbs/update_shortcut_props_from_dir.bat: missed to skip empty values
* new: Scripts/Tools/ToolAdaptors/app/emule: `exec_gui_emule.bat` script to start emule using path from the config
2022.07.19:
* changed: Utilities/bin/contools/TODO.txt: todo update
2022.07.14:
* changed: Utilities/bin/contools/TODO.txt: todo update
2022.07.13:
* fixed: Scripts/Tools: scripts minor fixup
* changed: Utilities/bin/contools/TODO.txt: todo update
2022.07.09:
* fixed: Scripts/Tools/ToolAdaptors/vbs: reset_shortcut_from_dir.bat, update_shortcut_props_from_dir.bat: execution fix from a drive root directory
* changed: Scripts/Tools/ToolAdaptors/vbs: *_shortcut.vbs: added `-reassign-target-path` flag to explicitly reassign `TargetPath` shortcut file property
2022.07.06:
* changed: Scripts/Tools/ToolAdaptors/ffmpeg: `-enable_reencode`, `-no_default_flags`, `-/`, `--` uniform options for all scripts
2022.07.02:
* changed: Scripts/Tools/ToolAdaptors/vbs/reset_shortcut_from_dir.bat: shortcut files traverse sorted by name
2022.06.20:
* new: Scripts/Tools/ToolAdaptors/vbs: added `reset_shortcut_from_dir.bat` script to reset shortcut by read/write it (does shortcut file shrink and cleanup)
2022.06.19:
* fixed: Scripts/Tools/ToolAdaptors/vbs/update_shortcut_props_from_dir.bat: execution fixup
2022.05.20:
* changed: README.md: readme update
2022.05.10:
* new: Scripts/Tools/admin/WindowsServices: WUS, Epson Printer scripts
2022.05.10:
* fixed: Scripts/Tools/bash: `$(...)` expansion fixup to avoid accident double expansion
2022.05.07:
* changed: README.md: readme cleanup
2022.05.04:
* fixed: Scripts/Tools/ToolAdaptors/vbs/update_shortcut_props_from_dir.bat: added `-chcp` parameter to be able to explicitly change unicode or non unicode shortcut parameters
2022.05.04:
* changed: README.md: replaced the rest of links by content cache links, removed `seeyoufarm` hits counter as not actual anymore
2022.04.29:
* changed: README.md: content cache links update
2022.04.26:
* changed: Scripts/Tools/ToolAdaptors/app/qbittorrent: extracted database files backup from the config backup
* refactor: Scripts/Tools/ToolAdaptors/app: amule, emula, qbittorrent: code refactor
2022.04.20:
* changed: backup_restapi_all.bat: use logged used name if not empty to backup by an authenticated user url (`backup_restapi_auth_user_repos_list.bat`)
2022.04.18:
* changed: .github/badges, README.md: content moved into `andry81-cache/andry81--gh-content-cache` repository
2022.04.09:
* new: Scripts/Tools/ToolAdaptors/app/emule: `backup_part_met_files.bat` script
2022.04.07:
* new: Scripts/Tools/ToolAdaptors/vbs: `update_shortcut_props_from_dir.bat` script to update shortcut properties from a directory
* changed: Scripts/Tools/ToolAdaptors/vbs: minor changes
2022.04.07:
* changed: Scripts/Tools/ToolAdaptors: missed changes
2022.04.07:
* new: Scripts/Tools/ToolAdaptors/vbs: `read_shortcut.vbs` script
* refactor: Scripts/Tools/ToolAdaptors/vbs: minor refactor
2022.04.03:
* new: README.md, .github/FUNDING.yml: shared donate link and badge
* changed: README.md: readme update
2022.03.29:
* new: _config: `accounts-org.lst.in`, `accounts-user.lst.in`, `repos.lst.in` template list files to store organization/user accounts and repositories list
2022.03.22:
* new: Utilities/bin/contools: binaries update
2022.03.22:
* fixed: Utilities/src/callf: command line parse fixup
* fixed: Utilities/src/callf: execution fixup
* new: Utilities/src/callf: `/shell-exec-unelevate-from-explorer` option to shell execute from COM interface
* changed: Utilities/src/callf: ExecuteProcess partial reimplementation
* changed: Scripts/Tools/ToolAdaptors/bat/start_app_at_system_date.bat` switch to use `/shell-exec-unelevate-from-explorer` flag
* refactor: Utilities/src/callf/help.tpl: help refactor
2022.03.22:
* fixed: Utilities/src/callf: utf-16 text in non unicode locale print fixup
2022.03.21:
* fixed: Scripts/Tools/ToolAdaptors/app: execution fixup
* new: Scripts/Tools/ToolAdaptors/app/curl: `download_url_to_file.bat` curl downloader script
2022.03.21:
* new: Scripts/Tools/ToolAdaptors/bat: `start_app_at_system_date.bat` script to start an arbitrary application with different system date
2022.03.21:
* new: Utilities/bin/contools: binaries update
2022.03.21:
* fixed: Utilities/src/callf: minor fixup
* new: Utilities/src/callf: `/unelevate-by-shell-exec-from-explorer` option with different implementation to unelevate from COM interface
2022.03.19:
* new: Utilities/bin/contools: binaries update
2022.03.19:
* new: Utilities/src/callf: `unelevate*` options opposite to `/elevate*` options to execute command line from unelevated original account
* refactor: Utilities/src/callf: code refactor
2022.03.16:
* changed: Scripts/Tools/ToolAdaptors/app: cleanup
2022.03.16:
* changed: Scripts/Tools/ToolAdaptors/app: missed changes
2022.03.01:
* new: Scripts/Tools/cmake: added `parse_flags.bat` script to partially parse cmake flags like `-T` and `-A` as a part of another script
2022.02.27:
* changed: Utilities/bin/contools/TODO.txt: todo update
2022.02.27:
* new: _config/config.system.vars.in: added `CONTOOLS_TOOL_ADAPTORS_ROOT` variable
2022.02.21:
* new: Scripts/Tools/build: `extract_files_from_archives_by_pttn.bat` script to extract multiple archives with preserving relative paths to each archive file
* new: Scripts/Tools/build: `xcopy_files_from_dir_by_pttn.bat` script to xcopy files from a directory preserving relative paths to each file
* new: Scripts/Tools/std: `declare_builtins.bat`, `read_args_to_var.bat` support scripts
2022.02.02:
* fixed: BuildTools/TargetProject.PreBuildStep.bat: invalid `-u` flag usage for the `thlibautocfg` utility
* refactor: Scripts/Tools/gen_product_ver.bat: moved into build subdirectory
2022.01.21:
* new: Scripts/Tools/ToolAdaptors/app/amule: `backup_downloads.bat`, `backup_logs.bat`, `exec_gui_amule.bat` scripts
* changed: Scripts/Tools/ToolAdaptors/app/*mule: code cleanup
* refactor: Scripts/Tools/ToolAdaptors/app/*mule: code refactor
2022.01.21:
* new: Utilities/bin/contools: binaries update
2022.01.21:
* fixed: Utilities/src/callf: `/load-parent-proc-init-env-vars` flag always been applied
2022.01.20:
* new: Scripts/Tools/ToolAdaptors/app/amule: `add_links.bat` script
2022.01.20:
* new: Scripts/Tools/ToolAdaptors/app/amule: `backup_config.bat` script
* changed: Scripts/Tools/ToolAdaptors/app/emule: code cleanup
2022.01.11:
* changed: Utilities/bin/contools/TODO.txt: todo update
2022.01.11:
* new: Utilities/bin/contools: binaries update
2022.01.11:
* fixed: Utilities/src/callf: access violation on print into detached console on exit
* fixed: Utilities/src/callf: accidental deadlock in worker threads on console access event
* new: Utilities/src/callf: `/skip-pause-on-detached-console` flag to skip pause in case of detached console
* changed: Utilities/src/callf: All `/pause*` flags now by default does restore console if was detached before (the console window search of does the same way as like for the `/attach-parent-console` flag). To skip that use `/skip-pause-on-detached-console` flag.
* changed: Utilities/bin/contools/README_EN.txt: readme update
2022.01.10:
* new: Utilities/bin/contools: binaries update
2022.01.10:
* new: Utilities/src/callf: parent console attach on demand (or allocation of a new one if not found any in process inheritance chain) or on output into console if console been detached or unexisted
* new: Utilities/src/callf: print into console in main thread from a worker thread stdout/stderr message buffer while waiting on a child exit
2022.01.09:
* fixed: Utilities/src/callf: missed case where `ReadConsole` being blocked and there is no an output handle to write but a child process does exit anyway and we must check that independently to an output handle
* new: Utilities/src/callf: full synchronization on console access: console attach/alloc/detach, console standard handles get/set, console input handle close, CRT standard handles reopen/close, console print
* changed: Utilities/tests/manual/contools/callf: tests update
* changed: Utilities/test/README_EN.txt: readme update
2022.01.08:
* fixed: Utilities/src/callf: always check CRT streams text mode and use only wide string print functions for not ansi text mode CRT streams (otherwise an internal CRT assert will be called)
* fixed: Utilities/src/callf: always read STD handles flags and modes before CRT handles detach in case of last STD handles close on CRT handles close
* new: Utilities/src/callf: `/detach-inherited-console-on-wait` flag to detach console before wait on child process exit and reattach after exit (workaround to avoid losing arrows key interactive input handling in the child `cmd.exe` process - command line history traverse)
* changed: Utilities/src/callf/help.tpl: help update
* changed: Utilities/bin/contools/README_EN.txt: readme update
* refactor: Utilities/src/callf: CRT reinitialization after console (re)attach refactor
2022.01.05:
* refactor: replaced all `tkl_include` calls by `tkl_include_or_abort` in all bash shell scripts
2022.01.04:
* changed: Utilities/README_EN.txt: merged into `bin/contools/README_EN.txt`
* changed: Utilities/TODO.txt: moved to `bin/contools`
* changed: Utilities/bin/contools/README_EN.txt: readme update
2022.01.04:
* fixed: Utilities/src/callf: workaround for the `ReadConsole` issue when it writes an extra character to the input buffer
2022.01.03:
* changed: Utilities/TODO.txt: todo update
2022.01.03:
* new: Utilities/src/callf: Partially implemented `/use-stdin-as-piped-from-conin` flag to treat stdin as piped console input. Currently must be done through the injection into stdin pipe end process and is not implemented yet.
2022.01.03:
* changed: Utilities/bin/contools/README_EN.txt: readme update
2022.01.02:
* changed: Utilities/TODO.txt: todo update
2022.01.02:
* new: Utilities/bin/contools: binaries update
2022.01.02:
* fixed: Utilities/src/callf: workaround for the `ReadConsole` issue when it does block on the input while the output handle is closed
* changed: Utilities/bin/contools/README_EN.txt: readme update
2022.01.02:
* changed: Utilities/bin/contools/README_EN.txt: readme update
2022.01.02:
* new: Utilities/bin/contools: binaries update
2022.01.02:
* new: Utilities/src/callf: `/disable-ctrl-signals` and `/disable-ctrl-c-signal` flags to disable respective CTRL signals
2021.12.31:
* new: Scripts/Tools/ToolAdaptors/app/emule: `delete_corrupted_pending_files_from_log.bat` script
* changed: Scripts/Tools/ToolAdaptors/app: scripts execution speedup
2021.12.25:
* new: Scripts/Tools/ToolAdaptors/app: `qbittorent` setting files backup scripts
* changed: Scripts/Tools/ToolAdaptors/app: code cleanup
2021.12.22:
* changed: Utilities/TODO.txt: todo update
2021.12.21:
* new: Utilities/bin/contools: binaries update
2021.12.21:
* fixed: Utilities/src/callf: correct `//` and `/?` flag parse
* new: Scripts/Tools/build/load_config_dir.bat: `no_load_user_config` flag to ignore load of user config
* changed: __init__: pass all arguments into `load_config_dir.bat` call and inner `__init__.bat` calls
2021.12.20:
* fixed: Scripts/Tools/build/gen_config.bat: accidental change
2021.12.20:
* fixed: Scripts/Tools/std: chcp.bat, restorecp.bat: stdin double redirection issue
* changed: Utilities/bin/contools/README_EN.txt: readme update
2021.12.20:
* new: Utilities/tests: more manual tests
2021.12.19:
* fixed: Scripts/Tools/build/load_config.bat: lite parse local variables cleanup
* fixed: Scripts/Tools/build/load_config.bat: `upath` attribute parse
* changed: __init__: rolled back to lite parse configs as fast parse been slow enough in dependentee projects
2021.12.18:
* fixed: README.md: badges fixup
2021.12.17:
* changed: scripts execution optimization
2021.12.15:
* changed: __init__: execution speed optimization
2021.12.15:
* changed: Scripts/Tools/build/load_config*.bat: flags read speed optimization
2021.12.12:
* new: Utilities/bin/contools: binaries update
2021.12.12:
* new: Utilities/src/callf: `/load-parent-proc-init-env-vars` flag to load environment variables existed on the moment of a process initialization in the parent or ancestor process
* changed: Utilities/bin/contools/README_EN.txt: readme update
2021.12.05:
* changed: .github/workflows: removed all github workflows as not required anymore because moved into a single repository
2021.12.05:
* changed: .github/workflows, Utilities/src/callf: code cleanup
2021.11.27:
* changed: .github/workflows: added `deps_repo_owner` parameter to specifically address dependent repositories
2021.11.25:
* changed: *.sh: `source '/bin/bash_tacklelib'` replaced by builtin search logic, in all other cases the `bash_tacklelib` script must be already sourced
2021.11.24:
* new: .github/workflows: use no-cache parameter for curl requests
2021.11.24:
* fixed: .github/workflows/accum-gh-*: repo rename
2021.11.22:
* changed: BuildTools: scripts cleanup
2021.11.21:
* new: .github/workflows: GitHub workflow switched to use GitHub composite action
2021.11.20:
* changed: .github/workflows: print `latest.json` into the pipeline for debug purposes
2021.11.20:
* refactor: BuildTools: minor refactor
2021.11.19:
* new: .github/workflows: `contools-gh-view-stats.yml` to generate `contools` repo view stats
* new: README.md: github all/unique views badges
2021.11.19:
* changed: .github/workflows: added reference to the `github-clone-count-badge` repo
2021.11.18:
* fixed: *.bat: explicitly sort by name in `dir` command if the sort option is not defined to avoid sort by date as by default
2021.11.15:
* changed: _config, BuildTools/msys: `msys` binaries moved into externals
* changed: BuildTools/TargetProject.PreBuildStep.bat: minor changes
2021.11.14:
* changed: _config, Utilities/bin/gnuwin32: `gnuwin32` binaries moved into externals
2021.11.14:
* changed: Utilities/bin: ritchielawrence, unxutils, wtee.exe: removed obsolete binaries (`contools/callf.exe` and `contools/callfg.exe` is used instead now)
2021.11.14:
* changed: Utilities/bin/cygwin: removed obsolete binaries
2021.11.14:
* changed: Utilities/bin/mingw: removed obsolete binaries
2021.11.13:
* changed: README_EN.txt: repository links minor update
2021.11.12:
* new: README.md: `lgtm.com` link badges
* changed: README.md: links update, realign
2021.11.11:
* new: README.md: `codeclimate.com` link badges
* changed: README.md: badge icons and links update
2021.11.11:
* new: .github/workflows: `contools-gh-clone-stats.yml` to generate `contools` repo clone stats
* new: README.md: repository/code size badges
* new: README.md: lines of code badge by `tokei.rs`
* new: README.md: github all/unique clones badges
2021.11.09:
* fixed: Scripts/Tools/cmake/make_output_directories.bat: cmake paths must be always posix compatible
2021.11.09:
* fixed: Scripts/Tools/build/load_config_dir.bat: by default use input config directory if output config directory is not defined
* new: Scripts/Tools/build/load_config.bat: `upath` attribute to convert all backslashes to forward slashes
2021.11.09:
* fixed: Scripts/Tools/cmake: execution fixup
2021.10.30:
* new: Utilities/bin/contools: binaries update
2021.10.30:
* fixed: Utilities/src/callf: multibyte/unicode console input/output misuse
2021.10.28:
* new: Utilities/bin/contools: binaries update
2021.10.28:
* fixed: Utilities/src/callf: missed to update CRT console handle text mode (utf8/utf16) in case of reallocate or reattach console
* new: Utilities: `README_EN.txt` file
2021.10.26:
* changed: Utilities/TODO.txt: todo update
* changed: README_EN.txt: readme update
2021.10.26:
* fixed: Utilities/src/_common: fixup in case of remote device open
2021.10.25:
* changed: Utilities/src/_common/compatible_iterator/README_EN.txt: readme update
* changed: README_EN.txt: readme update
2021.10.24:
* new: README.md: `codacy.com` link badge
* changed: README.md: refactor
2021.10.24:
* new: README.md: `refactor.io` link badge
2021.10.23:
* new: README.md: hits counter badge
2021.10.23:
* changed: Utilities/src/callf: removed not regular language feature flags, always apply language features for all processes in inheritance chain
* changed: Utilities/src/callf: help update
2021.10.23:
* fixed: Utilities/src/callf: crt runtime assert on exit
* changed: Utilities/src/callf: help update
2021.10.23:
* new: Utilities/bin/contools: binaries update
2021.10.23:
* fixed: Utilities/src/callf: `/tee-std*-dup` flag implementation
* changed: Utilities/src/callf: simplified use case for `/write-console-stdin-back` flag
* changed: Utilities/src/callf: help update
2021.10.21:
* changed: Scripts/Tools/ToolAdaptors/vbs: detailed description in file headers
2021.10.20:
* fixed: Scripts/Tools/std/get_cmdline.bat: missed change
2021.10.20:
* new: Utilities/bin/contools: binaries update
2021.10.20:
* new: Utilities/src: callf, printf: `/no-subst-pos-vars` to disable substitution only for positional variables
2021.10.18:
* fixed: Scripts/Tools/ToolAdaptors/vbs: bat scripts execution
2021.10.16:
* new: Utilities/bin/contools: binaries update
2021.10.16:
* new: Utilities/src/callf: `/pipe-out-child` to pipe child stdout/stderr only
2021.10.16:
* changed: .github: minor cleanup
2021.10.11:
* changed: __init__: `chcp.com` usage replaced by `chcp.bat` script
2021.10.11:
* changed: Scripts/Tools/build/load_config.bat: enable print only if `LOAD_CONFIG_VERBOSE` variable is set
* changed: __init__: use `INIT_VERBOSE` variable to initialize `LOAD_CONFIG_VERBOSE` variable
* changed: _config: load verbose variables only once
2021.10.06:
* new: __init__: `declare_builtins.bat` to declare builtin variables
* changed: Scripts/Tools: `declare_builtins.bat` scripts usage
2021.10.04:
* fixed: Scripts/Tools/std: missed changes
2021.10.04:
* new: Utilities/bin/contools: binaries update
2021.10.04:
* new: Utilities/src/callf: `/no-subst-empty-tail-vars` flag to disable substitution empty `{*}` and `{@}` variables
* changed: Utilities/src/callf: always substitute empty `{*}` and `{@}` variables except if `/no-subst-empty-tail-vars` flag is defined
* changed: Scripts/Tools: minor changes
2021.10.04:
* changed: .github/badges/stackeverflow-contools.svg: colors change
2021.10.04:
* fixed: README.md: wrong encoding
2021.10.03:
* new: .github/badges: `stackeverflow-contools.svg` badge
* new: README.md: added dependencies section
* changed: README_EN.txt: readme update
* changed: README.md, .github/FUNDING.yml: added sponsor links
2021.10.03:
* new: Scripts/Tools/std/get_cmdline.bat: to safely read command line string into `RETURN_VALUE` variable
* changed: Scripts/Tools: code refactor
2021.10.03:
* new: Scripts/Tools/build: `init_project_log.bat` script to initiate a project logging from different projects
* new: Scripts/Tools/std/get_windows_version.bat: `WINDOWS_X64_VER`, `COMSPEC_X64_VER` variables to distinguish `cmd.exe` process bitness from os bitness
* changed: Scripts/Tools: update to use new `callf.exe` features
* changed: Scripts/Tools: removed `-pause-on-*` flags from all scripts as not needed anymore
* changed: Scripts/Tools: code refactor
2021.09.30:
* new: Utilities/bin/contools: binaries update
2021.09.30:
* new: Utilities/src: callf, printf: environment expansion support for `{*}`, `{@}` argument variable values
2021.09.29:
* new: Utilities/bin/contools: binaries update
2021.09.29:
* new: Utilities/src: callf, printf: `{*}`, `{@}` argument variables
* changed: Utilities/src/_common: code cleanup
2021.09.28:
* new: Utilities/tests: todo file
* changed: Utilities/src/_common/tacklelib: back merge from tacklelib project
2021.09.24:
* fixed: Utilities/src/callf: help fixup
* changed: Utilities/src/callf: help cleanup and other minor changes
2021.09.24:
* new: Scripts/Tools/std: `get_windows_version.bat`, `check_windows_version.bat` scripts
* new: Scripts/Tools/build: `load_config.bat`: `-load_output_config` flag to explicitly load an output file config instead of input as by default in case if `-gen_config` flag is not defined
* new: Scripts/Tools/build: `load_config_dir.bat`: `-load_system_output_config`, ``-load_user_output_config`` flags to explicitly load an output file config instead of input as by default in case if respective `-gen_system_config`/`-gen_user_config` flag is not defined
* changed: Scripts/Tools/build: gen_config.bat: moved into more relevant directory
2021.09.23:
* new: Scripts/Tools/ToolAdaptors/app: __init__: minor refactor
2021.09.23:
* new: Scripts/Tools/ToolAdaptors/app: certutil, wkhtmltopdf: `-zeropad` option
* changed: Scripts/Tools/ToolAdaptors/app: certutil, wkhtmltopdf: scripts self logging and other rework
* changed: Scripts/Tools/ToolAdaptors/app: certutil, wkhtmltopdf: _config: cleanup
* refactor: Scripts/Tools/ToolAdaptors: moved download scripts into app subdirectory
2021.09.21:
* changed: _config: minor cleanup
2021.09.21:
* new: Scripts/Tools/ToolAdaptors/app/emule: `add_links.bat`, `search.bat` scripts
* changed: _config: minor change
2021.09.21:
* fixed: Scripts/Tools/ToolAdaptors/app: emule, flylink: `%*` expansion in `callf.exe` command line
* changed: Scripts/Tools/ToolAdaptors/download: code refactor
2021.09.21:
* changed: Scripts/Tools/ToolAdaptors/app: emule, flylink: once variables to be able to set them externally
2021.09.21:
* new: Scripts/Tools/ToolAdaptors/app: `emule` and `flylink` setting files backup scripts
2021.09.21:
* fixed: Scripts/Tools/build/load_config_dir.bat: missed to return an exit code
* changed: __init__: load root directory variables before all externals
2021.09.20:
* changed: _config: moved not immediate variables from the root `__init__.*` into `config.system.vars.in`
2021.09.19:
* fixed: Scripts/Tests/bench/batscripts: `load_config.bat` script fast parse bench test fixup
* new: Scripts/Tests/bench/batscripts: `load_config.bat` script lite parse bench test
* changed: Scripts/Tests: code refactor
* changed: minor changes
2021.09.18:
* changed: Scripts/Tools/build: moved `load_config*.bat` scripts into more relevant `build` directory from the `std` directory
* changed: Scripts/Tools/build: The `load_config_dir.bat` script is reworked to load a system configuration file independently to a user configuration files. Added `-gen_system_config` flag to explicitly load an output system configuration file. The `-gen_user_config` flag is used to explicitly load an output user configuration file.
* changed: _config: configuration files is reworked to move all potential changeable by a user values into a user configuration file
* changed: Utilities/src/callf: minor changes
2021.09.17:
* new: Utilities/bin/contools: binaries update
2021.09.17:
* new: Utilities/src/callf: `output-vt100`, `stdout-vt100`, `stderr-vt100` flags to enable processing VT100 and similar control character sequences, has no effect on Windows lower than Windows 10 build 10586
2021.09.14:
* new: Scripts/Tools/std: `load_config_dir.bat` script to load `config.system.vars.in` and `config.<index>.vars.in` configuration files from a directory
* changed: code refactor
2021.08.28:
* new: __init__: tacklelib-contools cross initialization
* changed: bash: bash shell scripts moved into `tacklelib` project
* changed: readme update
* refactor: global refactor
2021.08.25:
* fixed: Scripts/Tools, Scripts/Tests: missed `bash_tacklelib` usage instead of `bash_entry` script
2021.08.25:
* fixed: __init__: missed `bash_tacklelib` usage instead of `bash_entry` script
* new: __init__: svncmd-contools cross initialization
2021.08.24:
* changed: __init__, Scripts/Tools/bash, Scripts/Tools/ToolAdaptors, Scripts/Tests: bash scripts speedup optimization
* changed: readme update
* changed: readme dependencies update
* changed: ignores update
* refactor: Scripts/Tools/bash: tacklelib `bash_tacklelib` script now has used instead of `bash_entry`
* refactor: removed unused files and data
2021.08.23:
* fixed: Scripts/Tests: bash shell tests run fixup
* changed: Scripts/Tools/bash: bash shell scripts reimplemented with `bash_entry` script usage
* changed: Scripts/Tests: bash shell tests reimplemented with `bash_entry` script usage
* refactor: Scripts/Tools/bash: bash shell scripts moved into standalone directory
2021.08.22:
* new: Utilities/bin/contools: binaries update
2021.08.22:
* fixed: Utilities/src/callf: incorrect first option parse
* fixed: Utilities/src/callf: CreateProcess invalid standard handles inheritance issue even if standard handles are not inheritable (Windows 8 bug). Workarounded that by explicitly assign a null handle address to prevent inheritance into child process.
* fixed: Utilities/tests: more manual tests pass
* changed: Utilities/tests: readme update
2021.08.22:
* changed: Utilities/tests: readme update
2021.08.21:
* changed: Scripts/Tools/build/add_files_to_archive.bat: reimplemented with std scripts
2021.08.20:
* new: Utilities/tests: a manual test for user input with logging and console stdin write back
* changed: Utilities/tests: readme update
* refactor: Utilities/tests: tests rename
2021.08.20:
* new: Utilities/tests: a manual test for user input with logging and console stdin write back
* changed: Utilities/tests: manual test minor change
2021.08.20:
* fixed: Utilities/src/callf: potential infinite input loop in case of character device handle with redirection into a log file, use `/write-console-stdin-back` flag to explicitly allow it
* fixed: Utilities/src/callf: access violation in `_print_raw_message` function
* new: Utilities/src/callf: `/write-console-stdin-back` flag to explicitly allow a console input write back with potential infinite input loop
2021.08.20:
* fixed: Utilities/src/callf: incomplete stdin processing in case of character device handle with redirection into a log file
* new: Utilities/tests: a manual test for user input with logging
* changed: Utilities/tests: manual test minor change
2021.08.19:
* new: Utilities/bin/contools: binaries update
2021.08.19:
* new: Utilities/src/callf: `/no-stdin-inherit`, `/no-stdout-inherit`, `/no-stderr-inherit` to explicitly disable standard handles inheritance
* fixed: Utilities/src/callf: ShellExecute elevation (verb=runas) under already elevated environment and parent process console (re)attachment in the child process involves standard handles inheritance even if standard handles are not character device and declared as not inheritable (Windows 7 bug). Workarounded that by explicitly assign a null handle address to prevent inheritance into child process.
* fixed: Utilities/src/callf: missed case where reopened standard handle as the `CONIN$`/`CONOUT$`/`\\.\CON` automatically disabled for inheritance (character device must be always inheritable)
* fixed: Utilities/tests: more manual tests pass
* changed: Utilities/src/callf: more detailed debug prints
* changed: Utilities/tests: readme update
2021.08.19:
* new: Utilities/bin/contools: binaries update
2021.08.19:
* fixed: Utilities/src/callf: inbound/outbound parent-child pipes incorrect usage
* fixed: Utilities/src/callf: `/pause-on-exit*` flags incorrect usage in case of not executed elevation
* new: Utilities/tests: more manual tests for `callf`/`callfg` utilities
* changed: Utilities/src/callf: minor improvements
* changed: Utilities/tests: manual tests improvements
* changed: Utilities/tests: readme update
2021.08.18:
* fixed: Utilities/src/callf: replaced all `fputws`, `fputs`, `fprintf`, `fwprintf` function calls by the `_print_raw_message` and `_print_std*_message` to correctly translate text from `Unicode` to `Ascii` and vice versa independently to `TCHAR` definition
* fixed: Utilities/src/callf: minor fixup
* changed: Utilities/tests: readme update
2021.08.17:
* new: Utilities/src/callf: `/tee-conout-dup` flag to shortcut sequence of `/tee-stdout-dup 0` and `/tee-stderr-dup 0` options
2021.08.16:
* fixed: Utilities/src/callf: missed to check for `ERROR_NO_DATA` error (pipe closed)
* changed: Utilities/src/callf: `/stdin-echo <0|1>` option replaced by pair of `/stdin-echo` and `/no-stdin-echo` flags
* changed: Utilities/src/callf: code cleanup
* refactor: Utilities/src/callf: code refactor
2021.08.15:
* fixed: Utilities/src/callf: stdin tee read from character device stdin
* changed: Utilities/src/callf: reworked inbound and outbound pipe creation and utilization
2021.08.14:
* new: Scripts/Tools/ToolAdaptors/cygwin: readme file
* refactor: Scripts/Tools/ToolAdaptors/cygwin: code refactor
2021.08.14:
* changed: readmes update
2021.08.12:
* fixed: Utilities/src/callf: missed case where stdin can be not reopened but has not a character device handle type and so must be piped into child stdin
* fixed: Utilities/src/callf: missed case where stdout/stderr can be not reopened but has not a character device handle type and so must be piped from child stdout/stderr
* fixed: Utilities/src/callf: rewrote child in/out piping to control piping over stdin/stdout/stderr independently
* new: Utilities/src/callf: `/pipe-stdin-to-child-stdin`, `/pipe-child-stdout-to-stdout`, `/pipe-child-stderr-to-stderr`, `/pipe-inout-child` flags to explicitly declare piping to/from a child process
* refactor: Utilities/src/callf: code refactor
2021.08.10:
* new: Utilities/bin/contools: binaries update
2021.08.10:
* fixed: Utilities/src/callf:
Reworked (again) handles sanitizing as having unstable results under Windows 8.
Removed `STD_*_HANDLE_DEFAULT_ADDRESS` and all related code (`_rearrange_std_handles`), Windows 8 does not utilize them anymore as was by default in the Windows 7.
Removed `_resync_crt_std_handles` as having unstable results. Standard handles having too random nature under Windows 8 and, for example, two standard handles can has swapped addresses between 2 processes in inheritance chain (better completely detach CRT standard handles before (re)attach or (re)allocate console).
* fixed: Utilities/src/callf: unstable 0xc0000142 exception in `cmd.exe` process in Windows 8
* fixed: Utilities/src/callf: unstable manual tests crashes in Windows 8
* fixed: Utilities/src/callf: manual tests pass under Windows 8 (several tests still fails, see readme file for details)
* fixed: Utilities/src/callf: minor flags fixup
* fixed: Utilities/src/callf: better os version detection
* changed: Utilities/src/callf: code cleanup
* changed: Utilities/tests: readme update
* refactor: Utilities/tests: minor refactor
2021.08.09:
* new: Utilities/bin/contools: binaries update
2021.08.09:
* fixed: Utilities/src/callf: More handles sanitizing code to correctly handle CRT standrad handles reinitialization and resynchronization in GUI or console processes, because console can be (re)attached or (re)allocated after the CRT initialization.
* fixed: Utilities/src/callf: almost all manual tests pass, except `31-test--01-elevate--02-user_input.bat` (ENABLE_PROCESSED_OUTPUT flag is removed from console mode flags by the system on handle duplication/creation) and `51-test--01-cui--01-print_help.bat` (resync function not completely resyncs Win32 handles into CRT, stderr and stdout can point the same handle)
* changed: Utilities/src/callf: code cleanup
* changed: Utilities: todo update
* refactor: Utilities/src/callf: code refactor
2021.08.08:
* new: Utilities/bin/contools: binaries update
2021.08.08:
* fixed: Utilities/src/callf: missed to call `ShowWindow` in `callfg.exe` implementation
* fixed: Utilities/src/callf: missed to remove stdin/stdout/stderr handle inheritance in case of reopen from file or named pipe
* fixed: Utilities/src/callf: missed to remove stdin/stdout/stderr tee handle inheritance
* fixed: Utilities/src/callf: other fixup
* fixed: Utilities/src/callf: more tests pass
* new: Utilities/src/callf: `/allow-gui-autoattach-to-parent-console` flag to allow `callfg.exe` auto attach to a parent process console if the current process has no attached console
* new: Utilities/src/callf: The `/?` flag automatically implies `/allow-gui-autoattach-to-parent-console` flag in case of `callfg.exe` implementation to be able to print help. Can call now `callfg.exe /create-console /pause-on-exit /?` to print help.
* new: Utilities/tests: more manual tests for `callf`/`callfg` utilities
* refactor: Utilities/tests: minor refactor
2021.08.07:
* fixed: Utilities/src/callf: Windows XP/7 workarounds depending to the article: https://github.com/rprichard/win32-console-docs
* fixed: Utilities/src/callf: Reworked (again) handles sanitizing to correctly handle standard handles inheritance: https://github.com/rprichard/win32-console-docs#createprocess-traditional
* changed: Utilities/tests: readme update
2021.08.06:
* fixed: Utilities/src/callf: correct process of the `/no-window` flag in case of the `CreateProcess`
* new: Utilities/src/callf: `/no-window-console` flag to create a child process with invisible console
* new: Utilities/src/callf: `/detach-console` and `/detach-child-console` flags to detach respective process console
* new: Utilities/src/callf: `/allow-conout-attach-to-invisible-parent-console` flag to allow conout attach to invisible parent console
* refactor: Utilities/src/callf: flags minor refactor
2021.08.04:
* new: Utilities/tests: readme file
* changed: Utilities/src/callf: code cleanup, removed unused code
* refactor: Utilities/src/callf: code refactor
* refactor: Utilities/tests: minor refactor
2021.08.01:
* changed: Utilities/src/callf: code changes for `USE_CONSOLE_STD_HANDLES_REATTACH_BY_CRT_REOPEN=0`
* changed: Utilities/src/callf: code improvements for `_set_crt_std_handle` function
2021.07.31:
* new: Utilities/bin/contools: binaries update
2021.07.31:
* refactor: Utilities/tests: tests refactor, moved test number in a file name at first to use with a console terminal completion feature, added test sub numbers in file names
2021.07.31:
* changed: Utilities/src/callf: help update
* changed: Utilities/src/printf: minor changes
* refactor: Utilities/src/callf: code refactor
2021.07.30:
* fixed: Utilities/src/callf:
Reworked handles sanitizing to correctly reopen handles through the `_freopen` instead of `CreateFile` to finally fix CRT handles desync with the Win32 API descriptor table.
Now an invalid or broken Win32 handle is closed through the CRT (`fclose` + `_close`) at first before reopen it through the CRT (that is, otherwise the `freopen` won't deallocate the previously allocated handle and instead allocate the new one).
Removed the `_fileno` function usage in case of update a target CRT standard handle and is replaced by constants (`STDIN_FILENO`/`STDOUT_FILENO`/`STDERR_FILENO`) because of incorrect results while been using it (the same issue, `freopen` does not reuse the previous CRT descriptor, it allocates the new one, so the `_fileno` will point a descriptor greater than `2`).
* refactor: Utilities/src/callf: code refactor
2021.07.29:
* fixed: Utilities/src/callf: reset console mode on reopened handles in case if they are closed (null) upon `callf` utility start (started by `callfg.exe` utility), otherwise line return prints as character(s)
2021.07.29:
* new: Utilities/tests: more manual tests for `callfg` utility
2021.07.28:
* fixed: Utilities/src/callf: missed to close duplicated handle after check on registration in the CRT descriptor table even if it is registered (in that case the CRT owns it and responsible to close it)
* fixed: Utilities/src/callf: missed to sanitize standrad handles in case if they are closed (null) upon `callf` utility start (started by `callfg.exe` utility)
* fixed: Utilities/src/callf: close stdout handle only if it is not a character device handle, otherwise another process in process inheritance tree may lose the handle buffer to continue interact with it
* fixed: Utilities/src/callf: call `DisconnectNamedPipe` only if opened as named pipe
2021.07.28:
* new: Utilities/tests: added manual tests to test start of `callf.exe` by `callfg.exe` utility
2021.07.27:
* fixed: Utilities/src/callf: missed to enable `/no-expand-env` flag in case of elevated callf process
2021.07.26:
* new: Utilities/tests: more manual tests for `callf` utility
* new: Utilities/tests: manual tests for `callfg` utility
* changed: Utilities/bin/contools: readme update
2021.07.26:
* new: Utilities/bin/contools: binaries update
2021.07.26:
* fixed: Utilities/src/callf: WOW64 FileSystem redirection restore on exit
* fixed: Utilities/src/callf: missed to update CRT standard handles immediately after a console window (re)allocation
* new: Utilities/src/callf: The `callfg.exe` variant of the `callf` utility without initial console window (GUI) (GUI). Exists to workaround some 3dparty application issues like in the Bash shell executable which throws an error after a console window reallocation: `select_stuff::wait: WaitForMultipleObjects failed, Win32 error 6`.
* new: Utilities/src/callf: `/create-console` flag now can allocate a console window from the `callfg` utility without initial console
* changed: Utilities/src/callf: console reallocation reworked
* changed: readme update
2021.07.26:
* fixed: Utilities/src/callf: incorrect parse of `/replace-args`, `/r`, `/replace-args-in-tail`, `/ra`, `/set-env-var`, `/v` options
* new: Utilities/src/callf: `/allow-throw-seh-except` flag to allow to throw SEH exceptions out of process
* new: Utilities/src/callf: `/pause-on-exit`, `/pause-on-exit-if-error`, `/pause-on-exit-if-error-before-exec` flags to be able to pause on exit before close a console
* changed: Utilities/src/callf: catch all SEH exceptions by default and convert into specific error code
* changed: Utilities: todo update
* changed: readme update
2021.07.25:
* fixed: Utilities/src/callf: access violation around usage of the `/E<N>`, `/EE<N>`, `/S<N>`, `/SE<N>` flags
* fixed: Utilities/src/callf: missed to translate for elevation the `/disable-wow64-fs-redir` flag
2021.07.25:
* new: Utilities/bin/contools: binaries update
2021.07.25:
* fixed: Utilities/src: callf, printf, envvarcmp: `Flags` initialization
* fixed: Utilities/src/callf: `Options` merge
* new: Utilities/src/callf: `/expand-env<N>`, `/E<N>`, `/EE<N>` flags to expand `${...}` environment variables exclusively for `<N>` command line argument and turn off the expansion for the rest arguments
* new: Utilities/src/callf: `/subst-var<N>`, `/S<N>`, `/SE<N>` flags to substitute `{...}` variables exclusively for `<N>` command line argument and turn off the substitution for the rest arguments
* new: Utilities/src: callf, printf: `/allow-expand-unexisted-env` to allow expansion of unexisted `${...}` environment variables in all command line arguments
* new: Utilities/src: callf, printf: `/allow-subst-empty-args` to allow substitution of empty `{...}` variables in all command line arguments
* changed: Utilities/src: callf, printf: Disabled by default substitution of empty `{...}` variables in command line arguments. Now you have to explicitly enable the substitution of empty command line arguments by `/allow-subst-empty-args` or `/SE<N>` flags.
* changed: Utilities/src: callf, printf, envvarcmp: `Flags` initialization reimplemented
* refactor: Utilities/src/callf: code refactor
2021.07.22:
* new: Utilities/bin/contools: binaries update
2021.07.22:
* new: Utilities/src/callf: `/disable-wow64-fs-redir` flag to be able to use 32-bit `callf.exe` process in the 64-bit console environment
2021.07.21:
* new: Utilities/bin/contools: binaries update
2021.07.21:
* fixed: Utilities/src/callf: missed to check a handle on registered state in the CRT (`_set_crt_std_handle` function), otherwise the CRT `_dup` function would attempt to close the handle before it's duplication (random invalid handle errors)
* fixed: Utilities/src/callf: missed to check `ConnectNamedPipe` on `ERROR_PIPE_CONNECTED` error which means connection is accomplished before the function call
* fixed: Utilities/src/callf: all tests pass
* fixed: Utilities/src/callf: other minor fixup
* fixed: Utilities/tests: minor fixup
* changed: Utilities/src/callf: help update
* refactor: Utilities/src/callf: code cleanup
2021.07.21:
* new: Utilities/tests: more manual tests for `callf` utility
2021.07.20:
* new: Utilities/tests: manual tests for `callf` utility
* changed: Scripts/Tools/testlib/init.bat: `_output` changed to `_out` directory, set `TEST_SCRIPT_OUTPUT_DIR`/`TEST_SCRIPT_LOCAL_TEMP_DIR` variables only if not defined
* changed: Utilities/bin/contools: readme update
* refactor: Scripts/Tests/unit/batscripts: tests refactor
2021.07.19:
* fixed: Scripts/Tools/std/restorecp.bat: tests pass
2021.07.18:
* fixed: Utilities/src/callf: missed to close server named pipe end after connection timeout
* changed: Utilities/src/callf: rewrote code cleanup for all pipe threads to always disconnect a server named pipe end together with the handle close even if connection is not accomplished or SEH exception is thrown, otherwise a client may be blocked on the `PeekNamedPipe` call in an infinite loop
2021.07.16:
* new: Utilities/bin/contools: binaries update
2021.07.16:
* fixed: Utilities/src/callf: `{...}` sequence escaping with backslash
* fixed: Utilities/src/callf: missed to translate `/replace-arg*` and `/set-env-var` options for elevation
* new: Utilities/src/callf: environment variables expansion in `<value>` for `/v <name> <value>` options
* new: Utilities/src/callf: `/D .` option to pass current directory into child process
* changed: Utilities/src/callf: removed commenting of backslash characters in a command line while translating for elevation
* changed: Utilities/src/callf: code cleanup
2021.07.16:
* new: Utilities/bin/contools: binaries update
2021.07.16:
* fixed: Utilities/src/callf: incorrect leading `{N}` variable substitution
2021.07.15:
* fixed: Utilities/src/callf: error message `stdout write error: win_error=0x000000E9 (233)` in particular cases
* fixed: Utilities/src/callf: missed standard handles reread after change
* changed: Utilities: todo update
2021.07.14:
* fixed: Utilities/src/callf: Better standard handles sanitizing after process elevation (sometimes `GetFileType` returns `FILE_TYPE_UNKNOWN` on either stdout or stderr, have to correctly reopen them from `CONIN$` and `CONOUT$` pseudo files).
* fixed: Utilities/src/callf: Application abort after `std::runtime_error` exception in the `std::locale(".65001")` call (C++11 standard does not support unicode code page locale). Fixed by switching from absolute file path compare (`GetFullPathName` + `tolower`) to opened file handles compare (`GetFileInformationByHandle` + `GetFileInformationByHandleEx`)
* fixed: Utilities/src/callf: Error message `could not set std* handle information: ...`. A default standard handle can not be changed for inheritance, we can change for inheritance only reopened standard handles.
* fixed: Utilities/src/callf: missed to pass internal "no inherit" flag to `CreateProcess` function
* changed: Utilities/src/callf: Rewrote the check of the same file usage. Instead of use the absolute file path compare (`GetFullPathName` + `tolower`), do use the opened file handles compare (`GetFileInformationByHandle`/`GetFileInformationByHandleEx`). As an addition, file hard links now compares correctly.
* refactor: Utilities/src/callf: code refactor
2021.07.11:
* fixed: Utilities/src/callf: accidental break in command line variables substitution
* changed: Utilities/bin/contools: readme update
2021.07.11:
* fixed: Utilities/src/callf: invalid standard output handle temporary workaround through a complement standard handle duplication (after `_dup2` fail)
* fixed: Utilities/src/callf: apply `/eval-backslash-esc` and `/eval-dbl-backslash-esc` after `/replace-arg<N> <from> <to>` to be able to replace all backslashes in an argument before backslash evaluation
* fixed: Utilities/src/callf: backslash escaping must be done before the command line elevation translation
* fixed: Utilities/src/callf: environment variables set must be done before `${...}` environment variables expansion
* new: Utilities/src/callf: `/replace-arg<N> <from> <to>` and `r<N> <from> <to>` options to replace per argument basis
* new: Utilities/src/callf: `/eval-backslash-esc<N>` and `e<N>` flags to evaluate backslash escaping per argument basis
* changed: Utilities/bin/contools: readme update
* refactor: Utilities/src: callf, printf: code refactor
2021.07.09:
* new: Utilities/bin/contools: readme file
* changed: readme update
2021.07.09:
* new: Utilities/bin/contools: binaries update
2021.07.09:
* fixed: Utilities/src/callf: use `GetModuleFileName` instead of `argv[0]` in case if a program name is not passed on the command line
* fixed: Utilities/src/callf: minor fixup
* new: Utilities/src/callf: `/replace-args <from> <to>`, `/replace-args-in-tail <from> <to>` options to replace strings in command line
* new: Utilities/src/callf: `/set-env-var <name> <value>` option to set environment variable
2021.07.06:
* fixed: Utilities/src/callf: ignored check on not valid flag or option
* fixed: Utilities/src/callf: elevation examples ias changed to run the same way under already elevated environment
2021.07.06:
* new: Utilities/bin/contools: binaries update
2021.07.06:
* fixed: Utilities/src/callf: missed to close all anonymous or client named pipe handles prepared for a child process if them is not inheritable or a child process is not executed (parent process waiting for read from an anonymous pipe when a child process is already exited)
* fixed: Utilities/src/callf: missed to disconnect server named pipe before wait a thread with servere named pipe connect (process hangs on elevation dialog cancel)
* fixed: Utilities/src/callf: avoid start of any pipe stream thread if a child process is not executed (excluding idle execution)
* fixed: Utilities/src/callf: cancel all named pipe connection threads before read pipe stream threads errors
* fixed: Utilities/src/callf: `error: (null)` error message after elevation dialog cancel (incomplete or incorrect code around `_vsnwprintf`, `vsnwprintf`, `_snwprintf`, `_snprintf` functions)
* new: Utilities/src/callf: more example in the help
* changed: Utilities/src/callf: always close all handles irrespectively to a child process execution
2021.07.05:
* fixed: Utilities/src/callf: access violation in the `invalid_format_flag_message` function
* fixed: Utilities/src/callf: parse of elevation nested flags
2021.07.05:
* fixed: Utilities/src/callf: `argv[0]` parameter as argument instead of a program
* new: Utilities/src/callf: `/elevate` flag to self elevate `callf.exe` process with builtin command line translation
* new: Utilities/src/callf: `/elevate{ <ParentFlags> }[{ <ChildFlags> }]` option for limited set of flags to declare flags exceptionally for the parent (not elevated) `callf.exe` process in case of elevation is executed and for the child (elevated) `callf.exe` process in case of elevation is executed
* new: Utilities/src/callf: `/promote{ <Flags> }` option for limited set of flags to declare flags for both `callf.exe` process instances in case of elevation is executed, otherwise for the parent `callf.exe` process only
* new: Utilities/src/callf: `/promote-parent{ <Flags> }` option for limited set of flags to declare flags for parent `callf.exe` process only independently to elevation use or execution
* changed: Utilities/src/callf: Changed behaviour for the `/create-[in|out]bound-*` options, now them only create server part of a named pipe end instead of both. All `/create-[in|out]bound-pipe-*` options renamed into `/create-[in|out]bound-server-pipe-*`.
* refactor: Utilities/src/callf: code refactor
2021.07.04:
* fixed: Utilities/src: callf, chcp, clearcache, envvarcmp, printf, retakeowner: command line variables substitution must avoid `${N*}` variables (where N - is a number) if environment expansion is disabled (`/no-expand-env` flag)
2021.06.30:
* new: Scripts/Tools/fun: `matrix.bat` script
* changed: Utilities/src/callf: todo update
2021.06.25:
* new: Utilities/src/callf: `{pid}` and `{ppid}` placeholders to use in pipe names to generate unique pipe name
2021.06.24:
* new: Utilities/bin/contools: binaries update
2021.06.24:
* fixed: Utilities/src/callf: ctrl-c handler disable after child process exit
* fixed: Utilities/src/callf: always create inbound pipe from child process to console output if outbound pipe to child process from console input is created
* changed: Utilities/src/callf: minor changes
2021.06.23:
* new: Utilities/bin/contools: binaries update
2021.06.23:
* new: Utilities/src/callf: `/reopen-std[in|out|err]-as-[server|client]-pipe <pipe>` options to reopen standard handle as a named pipe
* new: Utilities/src/callf: `/tee-std[in|out|err]-as-[server|client]-pipe <pipe>`, `/tee-std[in|out|err]-pipe-flush` options to duplicate output to stdin/stdout/stderr into a named pipe
* new: Utilities/src/callf: `/create-inbound-pipe-to-std[out|err] <pipe>`, `/create-outbound-pipe-from-stdin <pipe>` options to create a named pipe instead of anonymous pipe to read/write from/to child process stdin/stdout/stderr.
* new: Utilities/src/callf: `/tee-std[in|out|err]-flush` flag to flush both a tee file and a tee named pipe
* new: Utilities/src/callf: Use `.` string as `ApplicationNameFormatString` in a command line to avoid child process creation (idle execution). Useful to test a server named pipe connection await or just redirect output from an inbound named pipe to the console window.
* new: Utilities/src/callf: `/no-std-inherit` flag to prevent standard handles inheritance into child process
* new: Utilities/src/callf: `/pipe-stdin-to-stdout` flag to explicitly pipe stdin to stdout (applies the `/no-std-inherit` flag)
2021.06.23:
* fixed: Utilities/src/callf: use `STDIN_FILENO`/`STDOUT_FILENO`/`STDERR_FILENO` instead of `_fileno(stdin)`/`_fileno(stdout)`/`_fileno(stderr)` in call to `_dup2`, otherwise sequenced call to `_close` would close input parameter handle w/o a duplication
* fixed: Utilities/src/callf: missed stdout flush (and disconnection if a server named pipe end) before close
2021.06.20:
* changed: readme update
2021.06.16:
* changed: Utilities/src/callf: now only the main thread prints info/errors to stdout/stderr, all worker threads only postpone info/errors to the main thread (excluding traffic between stdin and stdout/stderr)
2021.06.11:
* new: Utilities/src/callf: Now by default if the process console window is not owned and the process is going to close by an error before execute a child process, then the output does duplicate into a parent process console. To disable that behaviour the `/disable-conout-duplicate-to-parent-console-on-error` flag is added.
2021.06.10:
* fixed: Utilities/src/callf: minor fixup
* new: Utilities/src/callf: improved stdout/stderr output, use common format string prefix for all stderr output (example: `[<date> <time>] [<pid>] [<module>] error: <message>`)
* refactor: Utilities/src/callf: code refactor
* refactor: Utilities/src/chcp: minor refactor
* refactor: Utilities/src/envvarcmp: minor refactor
2021.06.09:
* fixed: Utilities/src/callf: The `0xC0000008: An invalid handle was specified.` SEH exception in random `CloseHandle` function call. Missed to duplicate handle before handle ownership transfer in the function `_open_osfhandle` in the function `_set_crt_std_handle`.
* fixed: Utilities/src/callf: missed case where to apply `/own-console-title` option
* new: Utilities/src/callf: `/console-title` option
* refactor: Utilities/src/callf: code refactor
2021.06.02:
* fixed: Utilities/src/callf: accidental usage of `toupper` instead of `tolower` as should for a file path case insensitive comparison
* refactor: Utilities/src/callf: extract source code into separate source files
2021.06.01:
* new: Utilities/bin/contools: binaries update
2021.06.01:
* fixed: Utilities/src/callf: minor fixup
* changed: Utilities/src/callf: `/mutex-std-writes`, `/mutex-tee-file-writes` now behaves differently and always mutual exclude writes on a unique absolute case insensitive file path between different processes
* refactor: Utilities/src/callf: code refactor
2021.05.31:
* fixed: Utilities/src/callf: missed to check the parent console window handle on equality with the current process console window handle to detect console window inheritance from the parent process
* new: Utilities/src/callf: `/create-console-title`, `/own-console-title` options to change console title
* changed: Utilities/src/callf: `/detach-console` flag is replaced by `/create-console` flag because a console detachment creates a standalone instance of console window, `/create-console` flag now has priority over the `/attach-parent-console` flag
* changed: Utilities/src/callf: `/use-parent-console` flag is removed, `/create-child-console` is used as an opposite replacement
* changed: Utilities/src/callf: `/create-console` and `/attach-parent-console` flags now always applies at very beginning of the application start, before parse of all other flags and output to the stdout or stderr
* refactor: Utilities/src/callf: code refactor
2021.05.30:
* fixed: Utilities/src/callf: missed `tee-std[in|out|err]-dup <fileno>` option check on not opened `<fileno>`
* fixed: Utilities/src/callf: missed to seek the end of a file after open for write with append on standard handle reopen and a tee file create
* new: Utilities/src/callf: `/output-flush`, `/inout-flush`, `/tee-std[in|out|err]-file-flush`, `/tee-output-flush`, `/tee-inout-flush` flags for more addressed flush
* changed: Utilities/src/callf: All std and tee files now opens by default with the append instead of the overwrite option, all `*-append` flags replaced by `*-truncate`. This will avoid an excessive usage of append option and accidental overwrite a log file in nested callf.exe calls.
2021.05.30:
* new: Utilities/bin/contools: binaries update
2021.05.30:
* fixed: Utilities/src/callf: auto attach to the visible parent process console in case if current process console is not visible to fix stdout/stderr attachment to the hidden console window
* fixed: Utilities/src/callf: correct current process console detachment
2021.05.28:
* fixed: Utilities/src/callf: multiple `/reopen-std[out|err] <file>` or `/tee-std[in|out|err] <file>` option usage with the same `<file>` now will reuse a previously opened handle instead open of a new one to fix the output mix
* new: Utilities/src/callf: `/std[out|err]-dup`, `/tee-std[in|out|err]-dup <fileno>` options to replace a sequence with respective `/reopen-std[out|err] <file>` or `/tee-std[in|out|err] <file>` options with the same `<file>`
* changed: Utilities/src/callf: replaced all fopen/fwrite/fflush calls by the Win32 CreateFile/WriteFile/FlushFileBuffers calls to avoid any CRT buffering overhead over raw binary writes
* refactor: Utilities/src/callf: code refactor
2021.05.27:
* fixed: Utilities/src/callf: `/showas 0` accident ignore
* fixed: Utilities/src/callf: lock on stdin pipe read while the output handle is closed or broken (pipe)
* fixed: Utilities/src/callf: immediate exit on error from the stdin thread write function on the output handle w/o check on child process existence
* new: Utilities/src/callf: `/attach-parent-console` to explicitly reattach console
* new: Utilities/src/callf: `/mutex-std-writes`, `/mutex-tee-std-file-writes <handles>` options to mutual exclude writes into standard handles and tee files/pipes
* new: Utilities/src/callf: `/stdin-output-flush` to flush after each write into an output handle connected with the process stdin
* new: Utilities/src/callf: `/std[out|err]-flush` to flush after each write into the process stdout/stderr
2021.05.26:
* new: Utilities/bin/contools: binaries update
2021.05.26:
* fixed: Utilities/src/callf: missed stdout/stderr initialize in call to CreateProcess if the tee is not used (for example, in empty call: `callf.exe "" "cmd.exe /k"`)
* fixed: Utilities/src/callf: `/reopen-stdout-as` and `/reopen-stderr-as` should open files for binary write
* new: Utilities/src/callf: `/reopen-stdout-append`, `/reopen-stderr-append`, `/reopen-stdout-flush`, `/reopen-stderr-flush` flags to open for append and flush after each write for reopened stdout/stderr
* refactor: Utilities/src/callf: code refactor
2021.05.26:
* new: Utilities/bin/contools: binaries update
2021.05.26:
* changed: Utilities/src/chcp: separately print and set console input and output code pages
* changed: Utilities/src/printf: minor changes
2021.05.25:
* new: Utilities/bin/contools: binaries update
2021.05.25:
* fixed: Utilities/src/printf: application linked with the Unicode Character Set option does convert command line string into Unicode representation, so we must convert all strings back if the console output code page is used
* fixed: Utilities/src/printf: missed to use console current code page
* fixed: Utilities/src/printf: missed `/chcp` flag implementation
* fixed: Utilities: minor fixup
* new: Utilities: chcp utility to change and print console output code page, can return different results opposed to the Windows `chcp.com` utility
2021.05.24:
* new: Utilities/bin/contools: binaries update
2021.05.24:
* new: Utilities/src/callf: ShellExecute call support through the `/shell-exec <Verb>` option
* new: Utilities/src/callf: `/D <CurrentDirectory>` option to use in both the CreateProcess and ShellExecute
* new: Utilities/src/callf: `/showas <ShowWindowAsNumber>` option to use in both the CreateProcess and ShellExecute
* new: Utilities/src/callf: `/print-shell-error-string`, `/no-sys-dialog-ui`, `/shell-exec-expand-env`, `/use-parent-console`, `/init-com`, `/wait-child-start` flags related to the ShellExecute
* refactor: Utilities/src: callf, printf: minor refactor
2021.05.24:
* fixed: Utilities/src/callf: `?` characters in the win32 error message in case if `/print-win-error-string` flag is used under non english locale
2021.05.21:
* new: Scripts/Tools/ToolAdaptors/vbs: added `--` command line parameter to explicitly stop parse of flag parameters
2021.05.21:
* new: Utilities/src: callf, printf: `/eval-dbl-backslash-esc` or `/e\\` flag to evaluate double backslash escape sequence
* new: Utilities/callf: help examples over recursion call
2021.05.20:
* fixed: Utilities/src/callf: minor fixup
2021.05.20:
* new: Utilities/bin/contools: binaries update
2021.05.20:
* fixed: Utilities/src: callf, printf: missed to append string before the `{` character if `/no-subst-vars` flag is used
* fixed: Utilities/src/callf: invalid `<ApplicationNameFormatString>` command line parameter parse
* new: Utilities/src/callf: `/win-error-langid` option to explicitly set language id for win32 error messages
* changed: Utilities/src: callf, printf: expand all ${...} variables in all command line arguments before {...} variables
* changed: Utilities/src: callf, printf: leave ${...} string as is if respective environment variable has empty value
2021.05.20:
* new: Utilities/bin/contools: binaries update
2021.05.20:
* fixed: Utilities/src/callf: missed to close underlying pipe into the stdin of the child process if parent stdin pipe is being closed
* fixed: Utilities/src/callf: missed to close reopened stdin/stdout/stderr handles
* fixed: Utilities/src/callf: other multiple fixup
* new: Utilities/src: callf, printf: added `//` command line parameter to explicitly stop parse of flag parameters
* new: Utilities/src/callf: `/eval-backslash-esc` or `/e` flag to evaluate backslash escape sequences
* changed: Utilities: todo update
* refactor: Utilities/src/callf: minor refactor
2021.05.12:
* new: Utilities/bin/contools: binaries update
2021.05.12:
* new: Utilities/src/printf: `/eval-backslash-esc` or `/e` flag to evaluate backslash escape sequences
2021.05.01:
* new: Utilities/bin/contools: binaries update
2021.04.30:
* new: Utilities/src/callf: stdin/stdout/stderr with builtin `tee` implementation (`/tee-*` flags)
* new: Utilities/src/callf: stdin/stdout/stderr reopen from a file or special `CON`/`CONIN$`/`CONOUT$` input/output devices (`/reopen-*` flags)
* new: Utilities/src/callf: stdin/stdout/stderr with builtin redirection into/from child process
* new: Utilities/src/callf: stdin/stdout/stderr with builtin codepage change for console read/write (`/chcp-*` flags), unicode support with codepage `65001`
* new: Utilities/src/callf: explicitly control stdin (must be console) echo mode (`/stdin-echo` option)
* new: Utilities/src/callf: print as is without variables expansion or substitution (`/no-expand-env` and `/no-subst-vars` flags)
* new: Utilities/src/callf: return arbitrary error codes (`/ret-*` flags)
* new: Utilities/src/callf: other command line options and features (experimental)
* new: Utilities/src/printf: stdout with builtin codepage change for console write (`/chcp` flag), unicode support with codepage `65001`
* new: Utilities/src/printf: print as is without variables expansion or substitution (`/no-expand-env` and `/no-subst-vars` flags)
* new: Utilities/src/printf: other command line options and features (experimental)
* changed: Utilities/src/callf: converted to use TCHAR instead char (Unicode characters set)
* changed: Utilities/src/printf: converted to use TCHAR instead char (Unicode characters set)
* changed: Utilities/src/envvarcmp: converted to use TCHAR instead char (Unicode characters set)
* changed: Utilities/Projects: callf, clearcache, envvars, envvarcmp, printargs, printf: projects switched to build under Unicode characters set
* changed: Utilities/src: callf, clearcache, envvars, envvarcmp, pipetimes, printf, retakeowner, thlibautocfg: command line arguments parse reimplementation
* changed: Utilities/src: merge common error codes between projects
* changed: Utilities: todo update
* refactor: Utilities/src: multiple projects formatting changes and code cleanup
2021.04.26:
* changed: .svnignore, .gitignore: cleanup
2021.04.23:
* changed: Scripts/Tools/std: let the `trim_var.bat` to remove a variable on trim into the same variable name
2021.03.11:
* fixed: Utilities/src/_common/compatible_iterator: fixup under msvc, gcc, clang
* changed: Utilities/src/_common/compatible_iterator: readme update
2021.03.09:
* fixed: Utilities/src/callf: parse of `{...}` placeholders in tail arguments
* fixed: Projects: build fixup
* new: Utilities/src/_common: `compatible_iterator` implementation, upgraded up to C++11 standard usage
* new: Utilities/src/callf: code segments reuse with different inner containers through the usage of `compatible_iterator` instead of a direct usage of STL iterators
* changed: Utilities/src: code cleanup
2021.03.07:
* changed: `fc` replaced by full path
2021.03.03:
* new: Utilities: todo file
2021.03.02:
* changed: Scripts/Tools/scm/svn: moved into `_externals` directory
* refactor: nested externals cleanup
2021.02.20:
* fixed: Scripts/Tools/ToolAdaptors/vbs: call.vbs, winshell_call.vbs: `CDbl` usage fixup
* new: Scripts/Tools/ToolAdaptors/vbs: call.vbs, winshell_call.vbs: `-E<n>` flag to expand specific command line argument by index
2021.02.14:
* fixed: Scripts/Tools/ToolAdaptors/vbs: call.vbs: silent %-variables expansion, replaced by explicit `%?.%` variable expansion as a whole command line (added `-s` flag to restore %-variables substitution back)
* new: Scripts/Tools/ToolAdaptors/vbs: winshell_call.vbs, call.vbs: `-r` flag to replace sequences in command line arguments
* new: Scripts/Tools/ToolAdaptors/vbs: winshell_call.vbs, call.vbs: `-v` flag to declare environment variable before execute a child process
* changed: Scripts/Tools/ToolAdaptors/vbs: winshell_call.vbs, call.vbs, *_shortcut.vbs: `%xx`/`%uxxxx` sequence unescape moved before %-variables expand
* changed: Scripts/Tools/ToolAdaptors/vbs: winshell_call.vbs, call.vbs, *_shortcut.vbs: `-unesc` flag replaced by shorter `-u`
* refactor: Scripts/Tools/ToolAdaptors/vbs: winshell_call.vbs, call.vbs, *_shortcut.vbs: minor refactor
2021.02.10:
* fixed: Scripts/Tools/std: echo_var.bat: accidental consume `!` and `^` characters
2021.02.10:
* new: Scripts/Tools/ToolAdaptors/vbs: winshell_call.vbs, call.vbs: `-qa` flag to always quotes non flag tail positional parameters
2021.02.09:
* fixed: Scripts/Tools/std: load_config.bat: empty value parse issue, value with multiple quotes parse issue
2021.02.08:
* changed: Utilities/Projects: moved to build for the Windows XP x86 SP2 or Windows XP x64 SP1
* changed: Utilities/bin/contools: rebuild to run at least under Windows XP x86 SP2
* changed: Utilities/bin/wshbazaar/wshdynacall: wshdynacall32.dll: rebuild to run at least under Windows XP x86 SP2
2021.02.08:
* fixed: Scripts/Tools/std: chcp.bat, restorecp.bat: Windows XP implementation has an issue over double redirection, so the stdin redirection must be separated from the stdout redirection
2021.02.07:
* fixed: Scripts/Tools/std: chcp.bat, getcp.bat, restorecp.bat, pause.bat: suppress stdin to avoid external stdin redirection reset under Windows XP (Windows XP bug)
2021.02.06:
* new: Scripts/Tools/ToolAdaptors/vbs: winshell_call.vbs: `-make_temp_dir_as_cwd` option to allocate temporary directory as current directory for the `ShellExecute` call and replace all instances in the command
* new: Scripts/Tools/ToolAdaptors/vbs: winshell_call.vbs: `-wait_delete_cwd` option to delete current working directory on exit
* refactor: Scripts/Tools/ToolAdaptors/vbs: call.vbs: minor refactor
2021.02.05:
* fixed: Scripts/Tools/std: load_config.bat: fast parse of a variable with empty value
2021.02.04:
* new: Utilities/bin: `conutils` from `ss64.net`
2021.02.04:
* fixed: Scripts/Tools/std: `get_wmic_*.bat` minor fixup
* new: Scripts/Tools/wmi: `get_wmic_first_display_resolution.bat` script to request first display resolution
* changed: Scripts/Tools: all scripts moved to use `wmi` directory to access wmi instead of `std`
* refactor: Scripts/Tools/std: `get_wmic_*.bat` scripts moved into `Scripts/Tools/wmi` directory
2021.02.03:
* changed: Scripts/Tools/ToolAdaptors/vbs: call.vbs: code cleanup
2021.02.01:
* changed: Scripts/Tools/ToolAdaptors/vbs: minor changes
2021.01.30:
* fixed: Scripts/Tools/ToolAdaptors/vbs: winshell_call.vbs: invalid type message fix
* new: Scripts/Tools/ToolAdaptors/vbs: `winshell_call.bat` script
2021.01.26:
* fixed: Scripts/Tools/ToolAdaptors/lnk: install_system64_link.bat: elevated call under data protection flag in Windows XP
* changed: Scripts/Tools/std: wmic_*.bat: important notice of usage in Windows XP
2021.01.26:
* fixed: Scripts/Tools/std: `chcp.com` tool access additionally from the `%SystemRoot%\System64` directory
* new: Scripts/Tools/ToolAdaptors/lnk: `install_system64_link.bat` script to portably create `%SystemRoot%\System64` link under Windows XP/7 x64
* new: Scripts/Tools/std: `getcp.bat` script to portably get code page
2021.01.24:
* new: Utilities/bin/sysinternals: `junction*.exe` utilities
* changed: Scripts/Tools/ToolAdaptors/lnk: mklink_system64.bat: minor change
2021.01.23:
* changed: Scripts/Tools/std: `get_wmic_os_sp_major_version.bat` script to extract OS service pack major version
2021.01.21:
* new: Scripts/Tools/ToolAdaptors/vbs: winshell_call.vbs: `-wait_on_file_exist` flag to emulate await of a child process
2021.01.21:
* changed: Scripts/Tools/std: get_wmic_*.bat: use direct path to the `wmic.exe`
2021.01.20:
* changed: Scripts/Tools/std: allocate_temp_dir.bat: return error code from the last `mkdir` command to handle `access denied` case
* changed: Scripts/Tools/std: free_temp_dir.bat: check directory existence before `rmdir`
2021.01.20:
* fixed: Scripts/Tools/std: xcopy_file.bat: handle of `robocopy` `/MOV` flag in case of fall back to the `xcopy.exe` tool
* fixed: Scripts/Tools/std: xcopy_dir.bat: handle of `robocopy` `/DCOPY:T` and `/MOVE` flags in case of fall back to the `xcopy.exe` tool
2021.01.17:
* changed: Scripts/Tools/std: xcopy_rename.bat: pass `-chcp` flag to the `copy.bat` script
* changed: __init__: canonical path subroutine change
2021.01.17:
* changed: canonical path subroutine change
2021.01.17:
* changed: switched scripts to use `pause.bat` script with the `-chcp "%OEMCP%"` argument
2021.01.17:
* new: Scripts/Tools/std: copy.bat: `-chcp` flag to explicitly use specific code page
* changed: Scripts/Tools/std: xcopy_*.bat: code cleanup
2021.01.17:
* fixed: Scripts/Tools/std: load_config.bat: minor fixup
* new: Scripts/Tools/std: gen_config.bat: placeholder replace functionality
* changed: Scripts/Tools/std: load_config.bat: `-gen_config` flag to explicitly generate the configuration file, the configuration file does not generate anymore by default
2021.01.16:
* changed: Scripts/Tools/ToolAdaptors/lnk: mklink_system64.bat: comments update
2021.01.16:
* new: Scripts/Tools/std: pause.bat: `-chcp` flag to explicitly use specific code page
* changed: Scripts/Tools/std: xcopy_*.bat: removed setup of 65001 code page if the `-chcp` flag is not set, not a caller responsible to setup a valid code page before to call an xcopy script
* changed: Scripts/Tools/std: pause.bat: reimplemented to always use `timeout.exe` whenever it is available
2021.01.16:
* fixed: Scripts/Tools/std: get_wmic_*.bat: execution under Windows XP w/o SP
2021.01.16:
* fixed: Scripts/Tools/std: load_config.bat: lite parse algorithm
2021.01.16:
* new: Scripts/Tools/std: load_config.bat: support of `once` attribute for lite parse algorithm
2021.01.15:
* fixed: Scripts/Tools/std: chcp.bat, restorecp.bat: reimplemented to support invalid code page setup ignore and correct restore
* changed: Scripts/Tools/std: chcp.bat, restorecp.bat, pause.bat: check the `chcp.com` existence before usage
2021.01.14:
* fixed: Scripts/Tools/std: load_script.bat: minor fixup
* new: Scripts/Tools/std: `gen_config.bat` script to generate config only (without load)
* new: Scripts/Tools/std: load_script.bat: added 2 uniform variable parameters to a variable declaration (usage: <varname>:<param0>:<param1>=<value>)
* new: Scripts/Tools/std: load_script.bat: `-noexpand` flag to explicitly avoid variable expansion on load as by default
2021.01.11:
* fixed: Scripts/Tools/std: load_config.bat: execution fixup
2021.01.11:
* fixed: Scripts/Tools/std: load_config.bat: lite parse fixup
* changed: Scripts/Tools/std: load_config.bat: lite parse fast variable trim and value surrounded quotes remove
2021.01.11:
* changed: __init__.bat: revert all directory initialization scripts back into simple not iterative implementation to load as fast as possible
2021.01.11:
* new: Scripts/Tools/std: load_config.bat: `-lite_parse` for maximum speed parser (in that case the config file is not compatible with external shells)
2021.01.10:
* fixed: Scripts/Tools/std: xcopy*.bat: execution fixup
2021.01.10:
* new: Scripts/Tools/std: `chcp.bat`, `restorecp.bat`: `-p` flag to print (not suppress) `chcp.com` output
2021.01.09:
* fixed: Scripts/Tools/std: load_config.bat: variable's value trim under old style quotes fix
* new: Scripts/Tools/std: load_config.bat: `-allow_not_known_class_as_var_name` flag to be able to parse custom (not known) variable classes externally
2021.01.09:
* new: Scripts/Tools/std: `get_wmic_os_version.bat` script
2021.01.09:
* changed: Scripts/Tools/std: restorecp.bat: print error message on empty codepage parameter
2021.01.09:
* fixed: Scripts/Tools/std: xcopy_file.bat, xcopy_dir.bat: missed to call a finalization code
2021.01.09:
* changed: Scripts/Tools/std: chcp.bat: print error message on empty codepage parameter
2021.01.09:
* fixed: Scripts/Tools/std: xcopy_file_rename.bat: Windows XP compatibility
* new: Scripts/Tools/std: xcopy_file_rename.bat: `-chcp` flag for an arbitrary codepage request
* changed: Scripts/Tools/std: `xcopy_file_rename.bat` to `xcopy_file.bat` duplex merge
* changed: Scripts/Tools/std: `xcopy_dir.bat` to `xcopy_file.bat` duplex merge
2021.01.09:
* fixed: Scripts/Tools/std: xcopy_file.bat, xcopy_dir.bat: Windows XP compatibility
* new: Scripts/Tools/std: xcopy_file.bat, xcopy_dir.bat: `-chcp` flag for an arbitrary codepage request
* changed: Scripts/Tools/std: xcopy_dir.bat: missed merge versus `xcopy_file.bat`
2021.01.09:
* refactor: Scripts/Tools: `WINDIR` variable replaced by `SystemRoot`
2021.01.09:
* fixed: Scripts/Tools/std: pause.bat: Windows XP compatibility
2021.01.08:
* fixed: Scripts/Tools/std: `xcopy_file.bat`, `xcopy_dir.bat`: dropped usage of the `/IA` flag because it implicitly used as exclusion sequence (1. It does implicitly exclude those files which were not included 2. It does ignore files without any attribute even if all attribute set is used: `/IA:RASHCNETO`)
2021.01.08:
* changed: Scripts/Tools/ToolAdaptors/vbs: minor change
2021.01.07:
* new: Utilities/bin/sysinternals: `movefiles.exe` and `pendmoves.exe` utilities
2021.01.06:
* new: Scripts/Tools/ToolAdaptors/vbs: `-E*` flags for environment variables expansion in particular arguments
2021.01.06:
* new: Scripts/Tools/ToolAdaptors/vbs: `printargs*.vbs` with environment variables expand and strings unescape + batch files
* new: Scripts/Tools/ToolAdaptors/vbs: `call.vbs`, `winshell_call.vbs`, `make_shortcut.vbs`, `update_shortcut.vbs` with strings unescape
* refactor: Scripts/Tools/ToolAdaptors/vbs: moderate refactor
2021.01.06:
* new: Scripts/Tools/ToolAdaptors/vbs: `printargs.*` and `printcmdline.bat` scripts to debug command lines from different places
2021.01.05:
* new: Scripts/Tools/ToolAdaptors/lnk: mycomputer shortcut
* changed: Scripts/Tools/ToolAdaptors/vbs: reimplemented make/update shortcut scripts
2020.12.30:
* new: Scripts/Tools/ToolAdaptors/vbs: call.vbs: `-showas` parameter
* new: Scripts/Tools/ToolAdaptors/vbs: `winshell_call.vbs` script to run from Windows Explorer with UAC elevation support
2020.12.25:
* new: Scripts/Tools/ToolAdaptors/vbs: call.vbs: change current directory parameter before run a command
2020.12.20:
* fixed: Scripts/Tools/ToolAdaptors/ffmpeg: ffmpeg_concat_copy_by_list.bat: missed `'` character escape
2020.12.16:
* fixed: Scripts/Tools/ToolAdaptors/vbs: call.vbs: missed args ReDim `Preserve` keyword
2020.12.14:
* fixed: Scripts/Tools/ToolAdaptors/vbs: call.vbs: missed args array final resize
* refactor: Scripts/Tools/ToolAdaptors/vbs: call.vbs: minor refactor
2020.12.12:
* new: markdown readme with links
2020.12.12:
* new: Scripts/Tools/admin/WindowsServices: VirtualBox enable/disable scripts
2020.12.11:
* refactor: minor refactor
2020.12.09:
* refactor: Utilities/bin: reorganized utilities into subdirectories to checkout them in externals separately to each other
2020.12.09:
* changed: `pause` commands replaced by calls to the `pause.bat` script
2020.12.09:
* new: Scripts/Tools/std: `pause.bat` script to pause with correct print in the log with previously has used code page
2020.12.02:
* new: Utilities/src/wshbazaar/wshdynacall: `DllUnregisterServer` implementation
2020.12.02:
* fixed: Utilities: x64 configuration build fixup
* new: Utilities: x64 configuration
* new: Utilities: Born's WSH dynacall 32-bit dll (http://www.borncity.com/web/WSHBazaar1/WSHDynaCall.htm ) port to msvc2015 to enable Win32 calls from vbs scripts
2020.11.29:
* fixed: Scripts/Tools/std: xcopy*.bat: minor fixup
* new: Scripts/Tools/std: xcopy_dir.bat: `-copy_dir` flag to copy directory as a name additionally to its content as by default
* new: Scripts/Tools/std: xcopy*.bat: support flags for attributes/ACL/owner/audit copy additionally to a file/directory content
* changed: Scripts/Tools/std: xcopy*.bat: call all executables by absolute paths
2020.11.23:
* fixed: Scripts/Tools/registry: regquery.bat: invalid case handle where a registry variable is empty
2020.11.23:
* fixed: Scripts/Tools/registry: rare case where `(` character in a key string value stops parsing
* refactor: Scripts/Tools/registry: minor refactor
2020.11.23:
* changed: Scripts/Tools/std: allocate_temp_dir.bat: always normalize `SCRIPT_TEMP_ROOT_DIR` variable value to an absolute path
* changed: Scripts/Tools/std: allocate_temp_dir.bat: support for the long 260+ path characters issue
2020.11.23:
* fixed: Scripts/Tools/filesys: get_shared_path.bat: missed change
2020.11.20:
* fixed: Scripts/Tools/std: xcopy*: long 260+ path issue
2020.11.15:
* new: Scripts/Tools/ToolAdaptors/vbs: call.bat: wrapper script to call the `call.vbs` script from the cmd.exe shell with completion await
2020.11.10:
* fixed: Scripts/Tools/ToolAdaptors/vbs: call.vbs: missed to process empty arguments
2020.11.06:
* fixed: Scripts/Tools/ToolAdaptors/vbs: call.vbs: check before a variable expansion (must be after)
* changed: Scripts/Tools/ToolAdaptors/vbs: call.vbs: removed arguments quoting by default, added the `-q` flag to enable it explicitly
2020.11.03:
* changed: __init__ scripts minor speedup
2020.10.01:
* changed: Scripts/Tools/ToolAdaptors/ffmpeg: code cleanup
2020.10.31:
* refactor: Scripts/Tools: moved registry scripts into `registry` subdirectory
2020.10.28:
* changed: Scripts/Tools/ToolAdaptors/vbs: call.vbs: implemented builtin flags parse to be able to preprocess a command line before execute it, all flags must be at the beginning of a command line (`-E` - expand command line, `-nowait` - doesn't wait execution completion, `-nowindow` - doesn't show a console window)
2020.10.25:
* changed: switched rest of scripts to ritchielawrence tee implementation
2020.10.25:
* new: Utilities: ritchielawrence tee implementation (mtee)
* changed: Scripts/Tools/ToolAdapters/download: switched to ritchielawrence tee implementation
2020.10.23:
* refactor: minor refactor
2020.10.17:
* fixed: Scripts/Tools/std: xcopy*: missed xcopy command line print
* new: Scripts/Tools/std: xcopy*: `-use_xcopy` flag to use xcopy explicitly
2020.10.17:
* changed: Scripts/Tools/std: xcopy*: removed wait timeout in case of robocopy usage
2020.10.17:
* fixed: Scripts/Tools/std: xcopy*: workaround to the robocopy utility which ignores read only files on the DVD-ROM drive if set `/IA:AH` instead of `/IA:RAH` (issue of the robocopy), always use a full set of file flags to fix that (`/IA:RASHCNETO`)
2020.10.08:
* fixed: Scripts/Tools/filesys: missed change
2020.10.07:
* fixed: Scripts/Tools/xcopy: convert_excludes_to_robocopy.bat: invalid robocopy exclude flags
2020.10.05:
* fixed: Scripts/Tools/std: load_config.bat: invalid multiple sttribute variable parse
* new: Scripts/Tests/unit/batscripts: load_config.bat: variable multiple attribute tests
2020.10.01:
* changed: Scripts/Tools/ToolAdapters/totalcmd: directory moved into tacklebar project
2020.10.01:
* refactor: Scripts/Tools/ToolAdapters: minor init refactor
2020.10.01:
* changed: Scripts/Build: minor changes
* refactor: Scripts: moved all executables into Utilities directory
2020.09.28:
* fixed: Scripts/Tests: `strlen.bat` script tests
* fixed: Scripts/Tools: timestamp.bat: milliseconds miscalculation
* changed: Scripts/Tools/std: strlen.bat: minor speed improvement
* changed: Scripts/Tools/std: trim_var.bat: speed improvement
* changed: Scripts/Tools/std: load_config: x2 speed improvement
2020.09.23:
* new: Scripts/Tools/std: load_config.bat: `once` attribute to assign variable only once
* new: Scripts/Tests/unit/batscripts: load_config.bat: `once` attribute test
2020.09.21:
* fixed: missed change
* changed: project environment variables refactor
2020.09.21:
* fixed: Scripts/Tests: tests fixup
* fixed: other minor fixup
* changed: init scripts minor changes
* changed: Scripts/Tests: removed obsoleted or not actual scripts
* changed: Scripts/Tools: scripts related to file system has moved to the `filesys` subdirectory
* refactor: Scripts/Tests: moved bench tests from unit category
2020.09.20:
* changed: Scripts/Tools: removed usage of the `get_filesize.bat` script, removed script
2020.09.19:
* changed: Scripts/Tools/ToolAdapters/totalcmd: TODO update
2020.09.19:
* changed: Scripts/Tools/ToolAdapters/totalcmd: ButtonBars: minor changes
* changed: Scripts/Tools/ToolAdapters/totalcmd: readme update
2020.09.18:
* fixed: Scripts/Tools/ToolAdaptors/lnk: mklink_system64.bat: minor fix
2020.09.18:
* fixed: Scripts/Tools/encoding: prepend_bom_to_utf_file.bat: stderr output instead of stdout
2020.09.11:
* fixed: Scripts/Tools/encoding: prepend_bom_to_utf_file.bat: minor fix
2020.09.10:
* new: Scripts/Tools/encoding: `prepend_bom_to_utf_file.bat` script to prepend BOM sequences to UTF text files
2020.09.04:
* changed: Scripts/Tools/ToolAdapters/totalcmd: TODO update
2020.08.31:
* fixed: Scripts/Tools/ToolAdapters/totalcmd: _install.bat: missed to create default .saveload directory
* fixed: Scripts/Tools/ToolAdapters/totalcmd: ButtonBars: minor bugfix
* fixed: Scripts/Tools/std: temp directory allocation/free scripts bugfix
* new: Scripts/Tools/ToolAdapters/totalcmd: profile.vars: direct variables to .saveload subdirectories and tacklebar subdirectory
* new: Scripts/Tools/ToolAdapters/totalcmd: all scripts with the `notepad_edit_files*.bat` script call uses `.saveload/last_edited` subdirectory to save user input in case of a script unexpected exit and user input lost
* changed: Scripts/Tools/ToolAdapters/totalcmd: ButtonBars: menu items rearrange
* refactor: Scripts/Tools/std: temp directory allocation/free scripts refactor
2020.08.31:
* changed: `eol= ` replaced by `eol=` in the rest for loops
2020.08.31:
* changed: moved `eol=` instructions in for loops back to the begin of the parameter string because `delims=` parameter is sensitive to the space characters and accepts space characters ONLY at the end of the parameter string
2020.08.31:
* new: Scripts/Tools/std: allocate_temp_dir.bat: `SCRIPT_TEMP_DIR_NAME` variable to reuse last generated temporary directory name
2020.08.29:
* fixed: Scripts/Tools/ToolAdapters/totalcmd: mess with mix between utf-8 and utf-16 text lists, explicitly state the text encoding in access to saveload lists
* fixed: Scripts/Tools/ToolAdapters/totalcmd: avoid any quote characters in scripts for shell/svn/git move/rename/copy
* fixed: Scripts/Tools/ToolAdapters/totalcmd/ButtonBars: single `%T` parameter must be used together with quotes
* fixed: other minor bug fixes
* new: Scripts/Tools/ToolAdapters/totalcmd: scripts for shell/svn/git move/rename/copy now can use saveload lists additionally to the selection lists
* changed: Scripts/Tools/ToolAdapters/totalcmd: `eol= ` replaced by `eol=` in for loops
* changed: Scripts/Tools/ToolAdapters/totalcmd: moved `eol=` instructions in for loops at the end of parameter string
* changed: Scripts/Tools/ToolAdapters/totalcmd: readme update
* changed: Scripts/Tools/ToolAdapters/totalcmd: TODO update
* refactor: Scripts/Tools/ToolAdapters/totalcmd: global refactor of ButtonBars files
2020.08.27:
* new: Scripts/Tools/ToolAdapters/totalcmd: read file selection lists through the `read_file_list.bat` script (not recursively for directories) + icons
* changed: Scripts/Tools/ToolAdapters/totalcmd: save_file_list.bat: minor improvement
2020.08.26:
* new: Scripts/Tools: moved 3dparty cmake scripts into separate directory
2020.08.22:
* changed: Scripts/Tools/ToolAdapters/totalcmd/Tools: replaced specific `check_config_version.bat` script by common `check_config_version.bat` script from cmake subdirectory
2020.08.17:
* new: Scripts/Tools/std: load_config.bat: faster and less accurate implementation as default (`-full_parse` flag to use slower full implementation)
* new: Scripts/Tests/unit/batscripts: tests for new `load_config.bat` implementation
* new: Scripts/Tests/batch/batscripts: tests for new `load_config.bat` implementation
2020.08.15:
* fixed: Scripts/Tools/std: load_config.bat: accidental UTF-8 with BOM encoding usage
2020.08.11:
* fixed: Scripts/Tools/ToolAdapters/ffmpeg: moved bare flags to the end because ffmpeg utility flags depends on the input
* new: Scripts/Tools/ToolAdapters/ffmpeg: ffmpeg_cut.bat, ffmpeg_cut_dur.bat: support `-crf` flag together with the `-enable_reencode` to cut with arbitrary quality
2020.08.11:
* fixed: Scripts/Tools/std: load_config.bat: old tyle expression quotes trim
* fixed: Scripts/Tools/ToolAdapters/totalcmd/Tools: check_config_version.bat: fix in case of a quote character in the version line
2020.08.01:
* new: Scripts/Tools/ToolAdapters/ffmpeg: enable re-encode flag for the cut scripts
2020.07.31:
* new: Scripts/Tests/batscripts: more `load_config.bat` script tests
2020.07.31:
* new: Scripts/Tests/batscripts: `load_config.bat` bench test added
* changed: Scripts/Tests: split into unit tests and bench tests
* changed: Scripts/Tools: `timestamp.bat` and `timediff.bat` scripts retargeted to work with the %TIME% value
* refactor: `CONFIGURE_ROOT` variable renamed into `PROJECT_ROOT` variable
2020.07.30:
* fixed: Scripts/Tools/ToolAdapters/totalcmd: scm: invalid copy/move
* new: Scripts/Tools/ToolAdapters/totalcmd: scm: copy paths by edited saveload list
2020.07.29:
* new: Scripts/Tools/ToolAdapters/totalcmd: scm: support comments over file path lines to ignore copy/move per file path
2020.07.28:
* new: Scripts/Tools/ToolAdapters/totalcmd: optional destination path show as a comment line in the files copy/move list
* changed: Scripts/Tools/ToolAdapters/totalcmd: cleanup
2020.07.28:
* fixed: Scripts/Tools/ToolAdapters/totalcmd: scripts install and execution fixup
* refactor: Scripts/Tools/ToolAdapters/totalcmd: __init__.bat: minor refactor
* refactor: Scripts/Tools/ToolAdapters/totalcmd: _install.bat: directories hierarchy refactor
* refactor: __init__.bat: minor refactor
2020.07.24:
* fixed: Scripts/Tools/testlib: endlocal can not be called from a nested script, replaced `endlocal.bat` script by `save_locals.bat`/`load_locals.bat` scripts to directly save/load variables into/from temporary external files
* fixed: Scripts/Tools/std: load_config.bat: multiple bug fix
* new: Scripts/Tools/std: load_config.bat: variables substitution and character escaping support
* new: Scripts/Tests/batscripts: `load_config.bat` script tests
* changed: Scripts/Tools: moved `set_vars_from_locked_file_pair.bat` into std subdirectory
* changed: Scripts/Tools/testlib: implementation reworked
* refactor: Scripts/Tools/std: load_config.bat: internal variable rename from `__*` to `__?*` to avoid intersection with double underscored variables
* refactor: Scripts/Tools/testlib: implementation refactor
* refactor: Scripts/Tools/ToolAdapters/totalcmd: local `CANONICAL_PATH` subroutine refactor
* refactor: local `CANONICAL_PATH` subroutine refactor
2020.07.21:
* changed: Scripts/Tools/std: load_config.bat: optimized, replaced temporary variables drop by a local `setlocal`/`endlocal`+ `for /F` commands tandem usage
* refactor: Scripts/Tools/std: trim_var.bat: minor refactor
2020.07.21:
* changed: Scripts/Tools/std: trim_var.bat: optimized, removed redundant `setlocal ENABLEDELAYEDEXPANSION` section
2020.07.20:
* new: Scripts/Tools/std: load_config.bat: integrated a variable name and value trim as builtin trim (from the `trim_var.bat` script) to suppress surrounding white spaces in the `<var> = <value>` expression
* new: Scripts/Tools/std: load_config.bat: splitted the directory parameter into the input and the output directories
2020.07.19:
* changed: Scripts/Tools/ToolAdapters/download: minor refactor
2020.07.19:
* fixed: Scripts/Tests/batscripts: trim_var.bat: fix in case of empty value
* new: Scripts/Tests/batscripts: test_std__trim_var.bat: tests on empty value and whitespace only characters value
2020.07.18:
* fixed: Scripts/Tests/batscripts: execution fixes
* new: Scripts/Tools/std: `trim_var.bat` and `echo_var.bat` scripts including handle of system characters like `!`, `%`, `"`, "^" and so on
* new: Scripts/Tests/batscripts: `trim_var.bat` script tests
* new: Scripts/Tools/testlib: `endlocal.bat` script to use from a test script in case if the `setlocal` command call is a part of a test case
2020.07.11:
* changed: Scripts/Tools/std: load_config.bat: made load a config file from a different output directory
2020.07.10:
* new: Scripts/Tools: pyxvcs scripts moved from the pyxvcs project
2020.07.10:
* new: Scripts/Tools/admin/WindowsServices: GoogleUpdate enable/disable scripts
* refactor: Scripts/Tools/admin: moved all Windows services scripts into WindowsServices directory
2020.07.08:
* fixed: Scripts/Tools/std: load_config.bat: case where `<var>="..." ...` parsed incorrectly removing the first quote character and the last not a quote character
* changed: __init__.bat: improved an init script search logic to automatically load from the __init__ subdirectory
* changed: Scripts/Tools/ToolAdaptors/totalcmd: replaced usage of the `loadvar.bat` script by usage of the `load_config.bat` script (more reliable)
* refactor: code cleanup
2020.07.07:
* new: Scripts/Tools: `wkhtmltopdf` utility converter
* new: Scripts/Tools/ToolAdapters: download scripts to download web files and html pages as is or html files as pdf files
2020.07.07:
* fixed: Scripts/Tools: the `wtee.exe` utility (now is deprecated) has an issue over a console progress bar (`\r` (character return) is not handled properly and so the output is messed), the gnuwin32 tee utility has another issue over `Cwrite error: No such file or directory` error message when the pipe/output handle does close by the system. To workaround those issues the UnxUtils tee utility implementation does used instead of these are because works as expected in both cases. More details: https://stackoverflow.com/questions/796476/displaying-windows-command-prompt-output-and-redirecting-it-to-a-file/62771772#62771772
* new: Scripts/Tools: the `tee` utility implementation from the UnxUtils project: http://unxutils.sourceforge.net
2020.07.06:
* changed: Scripts/Tools: moved `load_config.sh` script into tacklelib project
* refactor: Scripts/Tools: moved `load_config.bat` script into std subdirectory
* refactor: Scripts/Tools: moved and renamed `get_datetime.bat` script into std subdirectory
* refactor: Scripts/Tools: other minor refactor
2020.07.06:
* changed: Scripts/Tools: back merge from pyxvcs project (`load_config.*` scripts supports new syntax like `[<attribute> ]<var>[:<platform>][=<value>]` to declare an environment variable per specific platform with optional `export` variable attribute)
2020.06.26:
* changed: Scripts/Tools/ToolAdaptors/totalcmd: todo list update
2020.05.26:
* fixed: Scripts/Tools/ToolAdaptors/totalcmd: scm/shell: shell_copy_by_list.bat: directory paths copy as directories
2020.05.20:
* changed: Scripts/Tools/ToolAdaptors/totalcmd: todo list update
2020.05.20:
* changed: Scripts/Tools/ToolAdaptors/totalcmd: minor install script change
2020.03.03:
* changed: Scripts/Tools: `trapliblite.sh` file is removed because now is fully migrated into the `tacklelib` library
* changed: Scripts/Tools/ToolAdaptors/sh: `bash_entry` file is removed because now is fully migrated into the `tacklelib` library
* changed: readme update
2020.02.27:
* changed: Scripts/Tools/ToolAdaptors/totalcmd: todo list update
2020.02.26:
* fixed: Scripts/Tools/ToolAdaptors/sh: bash_entry: accidental `$1` argument pass into `source` statement
* new: Scripts/Tools/ToolAdaptors/sh: bash_entry: `tkl_make_source_file_components_from_file_path` function to manually update source file components from any file path
* new: Scripts/Tools: `load_config.bat` script port into `load_config.sh` script
2020.02.25:
* changed: Scripts/Tools: `load_config.bat` improved to load compatible to the unix shell configuration `key=value` pairs: `key="value"` instead of `"key=value"` or `key=(value0 ... valueN)` for a list of values
2020.02.21:
* fixed: Scripts/Tools/ToolAdaptors/totalcmd: `compare_paths_from_stdin.bat` script last backslash characters bug workaround
* fixed: Scripts/Tools/ToolAdaptors/totalcmd: install script invalid files copy
2020.02.17:
* changed: readme file
* refactor: minor refactor
2020.02.17:
* fixed: Scripts/Tools/ToolAdaptors: sh: bash_entry: incomplete convert backend paths to native with forward slashes for `BASH_SOURCE_*` variables
2020.02.11:
* fixed: Scripts/Tools/ToolAdaptors: scm/svn: svn_edit_props_by_list: ignore only the last empty lines but overwrite the property without last empty lines if changed
2020.02.11:
* refactor: root scripts rename
2020.02.11:
* changed: svn ignores
2020.02.10:
* fixed: Scripts/Tools/ToolAdaptors: sh: bash_entry: always convert backend paths to native with forward slashes for `BASH_SOURCE_*` variables
* new: preconfigure scripts
2020.02.10:
* new: [initiated] partial preparations to switch to build by the cmake
* changed: Scripts/Tools/ToolAdaptors/totalcmd: ButtonBars: minor fixup
* changed: Scripts/Tools/ToolAdaptors/totalcmd: todo list update
* changed: Scripts/Tools/ToolAdaptors/totalcmd: readme update
* changed: removed _3dparty because moved into `contools--3dparty` project
* changed: svn/git ignores synchronization
* changed: readme update
* refactor: global refactor
2020.02.09:
* fixed: utilities: wxwidgets build fixup
* new: utilities: wxFileDialog: added support a directory selection
* changed: utilities: wxFileDialog: rebuilt versus wxwidgets 3.1.3
* changed: readme update
2020.02.09:
* changed: 3dparty: wxwidgets setup header updated to the 3.1.3 version
2020.02.08:
* fixed: Scripts/Tools/ToolAdaptors/totalcmd: missed install script update
* fixed: Scripts/Tools/ToolAdaptors/totalcmd: some missed files
* changed: Scripts/Tools/ToolAdaptors/totalcmd: removed `.saveload` directory creation from the install script
2020.02.08:
* fixed: Scripts/Tools/ToolAdaptors/totalcmd: scm/svn: svn_edit_props_by_list: ignore only the last empty lines
2020.02.06:
* fixed: Scripts/Tools/ToolAdaptors/totalcmd: scm/svn: svn_edit_props_by_list: ignore line returns
2020.02.06:
* changed: Scripts/Tools/ToolAdaptors/totalcmd: todo list cleanup
2020.02.04:
* fixed: Scripts/Tools/ToolAdaptors/totalcmd: `notepad_edit_files_by_list.bat` minor fixup
* new: Scripts/Tools/ToolAdaptors/totalcmd: scm/tortoisesvn: `-from_url` flag in the `tortoiseproc*.bat` scripts to extract url from a working copy and open the tortoise process by a remote url instead by a local path
* new: Scripts/Tools/ToolAdaptors/totalcmd: ButtonBars: svn: `svn show log` splitted to `svn show log from working copies` and `svn show log from remote urls`
2020.02.03:
* fixed: Scripts/Tools/ToolAdaptors/totalcmd: scm/svn: svn_edit_props_by_list: missed to remove property if blank or contains only white spaces
* refactor: Scripts/Tools: minor cleanup
2020.01.29:
* fixed: Scripts/Tools/ToolAdaptors/totalcmd: missed change
2020.01.25:
* new: Scripts/Tools/admin/VisualStudio: Visual Studio 2017 layout create/run scripts
2020.01.24:
* new: Scripts/Tools/locks: `read_file_to_var.bat`, `write_file_from_var.bat`, `incr_var_file.bat` and `decr_var_file.bat` scripts to exclusively read/write a file to/from a variable and increment/decrement integral value in a file
* new: Scripts/Tools/ToolAdaptors/totalcmd: `compare_paths.bat` script to compare paths in a command line, `compare_paths_from_list.bat` script to compare paths in a single list file and `compare_paths_by_list.bat` script to compare paths in multiple list files
* new: Scripts/Tools/ToolAdaptors/totalcmd: ButtonBars: compare: added `compare current directories of 2 panels` and `compare selected paths to saveload list...` items
* changed: Scripts/Tools/ToolAdaptors/totalcmd: ButtonBars: compare: `compare selected paths from current panel (odd-to-even)` and `compare selected paths from current panel (odd-to-even, sort file lines)` items
* refactor: Scripts/Tools/ToolAdaptors/totalcmd: compare function completely rewrote to support single panel compare (single list compare) and 2 panel compare (multiple lists compare)
* refactor: Scripts/Tools/ToolAdaptors/totalcmd: Tools: minor cleanup
2020.01.23:
* refactor: Scripts/Tools/tasks: minor refactor
2020.01.22:
* new: Scripts/Tools/ToolAdaptors/totalcmd: `create_dirs_by_path_list.bat` script to create directories by paths in a list
* changed: Scripts/Tools/ToolAdaptors/totalcmd: ButtonBars: create: added `create directories by save load list...`
* refactor: Scripts/Tools/ToolAdaptors/totalcmd: `create_*` scripts file name refactor
* refactor: Scripts/Tools/ToolAdaptors/totalcmd: images: `create_*` icons file name refactor
2020.01.22:
* new: Scripts/Tools/admin/Photoshop: enable/disable scripts for the Photoshop services
2020.01.21:
* new: Scripts/Tools/ToolAdaptors/totalcmd: scm/svn: svn_edit_props_by_list: added `-create_prop_if_empty` flag to edit properties from the list and if not existed then create it
* changed: Scripts/Tools/ToolAdaptors/totalcmd: ButtonBars: svn: added `svn edit selected properties by Notepad++` item
2020.01.11:
* new: Scripts/Tools/admin/VMware: enable/disable scripts for the VMware services
2020.01.11:
* new: Scripts/Tools: `load_config.bat` script to load (with copy from a template file if an input file is not found) light weight vars files
2020.01.11:
* changed: Scripts/Tools/ToolAdaptors/sh: minor back merge from tacklelib project
2020.01.05:
* fixed: Scripts/Tools/ToolAdaptors/totalcmd: scm/svn: removed excessive pause commands
* changed: Scripts/Tools/ToolAdaptors/totalcmd: ButtonBars: svn: svn_edit_props_by_list: pause on exit instead pause on error
2019.12.31:
* fixed: Scripts/Tools/ToolAdaptors/totalcmd: missed profile change
2019.12.10:
* new: Scripts/Tools/admin/MicrosoftOffice: enable/disable scripts for the Microsoft Office 2013 (15.0) services
2019.12.06:
* new: Scripts/Tools/ToolAdaptors/ffmpeg: ffmpeg_copy.bat to fix a video file errors on copy
2019.11.24:
* changed: description changed in the readme file
2019.11.24:
* changed: readme update
2019.11.24:
* changed: readme update
2019.11.14:
* new: Scripts/Tools/admin: `scan_broken_reg_keys.py` python script to search for broken Windows registry keys
2019.11.09:
* fixed: Scripts/Tools/ToolAdaptors/totalcmd: scm/shell: `shell_rename_by_list.bat` typo
2019.11.08:
* new: Scripts/Tools/ToolAdaptors/totalcmd: notepad icons
* refactor: Scripts/Tools/ToolAdaptors/totalcmd: icons refactor
2019.11.08:
* fixed: Scripts/Tools/ToolAdaptors/totalcmd: LOADSELECTION command does not work with quotes
2019.11.08:
* fixed: Scripts/Tools/ToolAdaptors/totalcmd: missed to replace `%TOTALCMD_ROOT%` by `%COMMANDER_SCRIPTS_ROOT%/tacklebar`
* fixed: Scripts/Tools/ToolAdaptors/totalcmd: scm/shell: removed check on common root path in the `shell_copy_by_list.bat` script
2019.11.04:
* new: Scripts/Tools/ToolAdaptors/totalcmd: save selection bar button now shows 2 submenu items: `Save absolute file paths...` and `Save file names...` + icons
* new: Scripts/Tools/ToolAdaptors/totalcmd: selection by list bar button + icons
* changed: Scripts/Tools/ToolAdaptors/totalcmd: readme update
2019.11.04:
* fixed: Scripts/Tools/ToolAdaptors/totalcmd: `create_empty_files_by_dir_list.bat` and `create_empty_files_by_path_list.bat` is missed to install
* changed: Scripts/Tools/ToolAdaptors/totalcmd: `configure.bat` renamed into `_install.bat`
* changed: Scripts/Tools/ToolAdaptors/totalcmd: `_install.bat` simplification, now the first parameter is always required to define the directory there to install
* changed: Scripts/Tools/ToolAdaptors/totalcmd: install: scripts, button bars and configuration files moved into `tacklebar` subdirectory to avoid mix or overwrite standalone files in the same root directory
* changed: Scripts/Tools/ToolAdaptors/totalcmd: readme update
2019.10.17:
* fixed: Scripts/Tools/ToolAdaptors/totalcmd/ButtonBars: incomplete `COMMANDER_SCRIPTS_ROOT` variable usage changes
2019.10.17:
* fixed: Scripts/Tools/ToolAdaptors/vbs: always quote command arguments because of a case where were no printable characters in an argument but was an environment variable expansion with not printable character in a value
2019.10.14:
* fixed: Scripts/Tools/ToolAdaptors/totalcmd/converters/ffmpeg: `ffmpeg_convert_by_list.bat` misuse
2019.10.14:
* fixed: Scripts/Tools/ToolAdaptors/totalcmd: configure: missed to copy `wxFileDialog.exe` utility
2019.10.14:
* changed: Scripts/Tools/ToolAdaptors/totalcmd: profile minor change
2019.10.14:
* fixed: Scripts/Tools/ToolAdaptors/totalcmd: ButtonBars %-character usage
* changed: Scripts/Tools/ToolAdaptors/totalcmd: profile minor change
2019.10.14:
* changed: configure: made the _3dparty directory an optional
2019.10.12:
* fixed: Scripts/Tools/ToolAdaptors/totalcmd: configure.bat run errors
* changed: Scripts/Tools/ToolAdaptors/totalcmd: `COMMANDER_SCRIPTS_ROOT` variable usage to reference all scripts in the *.bar files from the ButtonBars directory
* changed: Scripts/Tools/ToolAdaptors/totalcmd: *.bar files switched to use the `COMMANDER_SCRIPTS_ROOT` environment variable
2019.10.12:
* fixed: Scripts/Tools/ToolAdaptors/totalcmd: missed `create_empty_files_by_path_list.bat` script
* changed: Scripts/Tools/ToolAdaptors/totalcmd: readme update
2019.10.10:
* changed: Scripts/Tools/ToolAdaptors/totalcmd: TODO update
2019.10.10:
* fixed: Scripts/Tools/ToolAdaptors/totalcmd/scm/git: `git_rename_by_list.bat` fix for missed or incorrect renames
2019.10.08:
* changed: Scripts/Tools/ToolAdaptors/totalcmd: TODO update
2019.09.24:
* new: Scripts/Tools/ToolAdaptors/totalcmd: `create_empty_files_by_path_list.bat` script and `create_files_by_list.bar` command bar to create empty files by saveload path list
* new: Scripts/Tools/ToolAdaptors/totalcmd: icon `create_files_by_list.ico` for the `create_empty_files_by_path_list.bat` script
* refactor: Scripts/Tools/ToolAdaptors/totalcmd: minor refactor
2019.09.19:
* removed: Scripts/Tools: python scripts moved to tacklelib project
2019.09.01:
* fixed: Scripts/Tools: warning message `DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses`, adopted `importlib` to import modules with periods in a file name
* fixed: minor fixes
* new: Scripts/Tools: cmdoplib.yaml.py: variables stack push/pop support, to drop/restore variables in different contexts (for example, between loads)
* new: Scripts/Tools: cmdoplib.yaml.xsh: `yaml_push_global_vars`, `yaml_pop_global_vars` functions
* refactor: Scripts/Tools: `cmdoplib.py` renamed into `cmdoplib.std.py`
2019.08.25:
* fixed: Scripts/Tools: temporary fix to the `import_module` function to workaround load module file names with period characters in the middle
* new: Scripts/Tools: `cmdoplib.yaml.py` module to expand variable references in the YAML configuration dictionaries
* new: Scripts/Tools: `cmdoplib.std.xsh`, `cmdoplib.yaml.xsh` xonsh scripts to support calls from xonsh environment
2019.08.18:
* fixed: Scripts/Tools/ToolAdaptors/totalcmd: create files/directories by list in case of empty current directory path
* new: Scripts/Tools: `import_module` function in `cmdoplib.py` module to import python modules directly file by file
* changed: Scripts/Tools/ToolAdaptors/totalcmd: minor ButtonBars changes
2019.08.17:
* fixed: Scripts/Tools: decode errors in the `list_urls_in_files.py` script
* fixed: Scripts/Tools: warning message `cmdoplib.py:10: DeprecationWarning: invalid escape sequence \(` in case of import the `cmdoplib.py` module through the `importlib` module
2019.08.17:
* fixed: Scripts/Tools: traceback message in the `list_urls_in_files.py` script
* new: Scripts/Tools: `cmdoplib.py` and `list_urls_in_files.py` scripts to extract urls from files
* changed: Scripts/Tools/admin/ProductKey: missed changes
2019.08.17:
* new: Scripts/Tools/ToolAdaptors/fla: old flash tool for show differences between 2 flash files from the Perforce environment (Action Script 9.0)
2019.07.29:
* new: Scripts/Tools/ToolAdaptors: scm/svn: initial implementation of the `svn_edit_props_by_list.bat` script
* changed: Scripts/Tools/ToolAdaptors: minor changes
2019.07.28:
* changed: Scripts/Tools/ToolAdaptors: `profile.vars` renamed into `profile.vars.in` template file to generate the user file on configuration with check on version change
* changed: Scripts/Tools/ToolAdaptors: `configure.bat` now checks the version of the `profile.vars` versus version `profile.vars.in` before copy-with-backup and warns the user to merge the user file manually in case of different versions with the template one
2019.07.28:
* refactor: minor changes, comments cleanup
2019.07.28:
* changed: Scripts/Tools/ToolAdaptors: TODO file update
2019.07.27:
* changed: Scripts/Tools/ToolAdaptors: icons minor edit
2019.07.27:
* changed: Scripts/Tools/ToolAdaptors: move/rename/copy menu icons minor edit
2019.07.27:
* changed: Scripts/Tools/ToolAdaptors: save/load menu icons minor edit
2019.07.27:
* new: Scripts/Tools/ToolAdaptors: notepad icons
2019.07.27:
* changed: Scripts/Tools/ToolAdaptors: removed the check on a directory existence from the `compare_files.bat` and `compare_files_by_list.bat` scripts to enable compare directories (depends on a comparison tool)
2019.07.27:
* refactor: Scripts/Tools/ToolAdaptors: fix in shortcut names, PWD renamed to CWD (Current Working Directory, not related to Print Current Directory, but may translate as Previous Working Directory)
2019.07.27:
* changed: Scripts/Tools/ToolAdaptors: TODO file update
2019.07.27:
* new: Scripts/Tools/ToolAdaptors: Issues file
* changed: Scripts/Tools/ToolAdaptors: TODO file update
* changed: TODO file update
2019.07.21:
* changed: Scripts/Tools/ToolAdaptors: minor safe call optimizations
2019.07.21:
* new: Scripts/Tools/ToolAdaptors: added WinMerge as a second comparison tool and added flags in respective scripts to switch onto it
* changed: Scripts/Tools/ToolAdaptors: added bare flags to pass to a backend comparison tool
2019.07.21:
* refactor: Scripts/Tools/ToolAdaptors/scm/tortoisesvn: scripts rename to the snake case
2019.07.20:
* fixed: Scripts/Tools/ToolAdaptors/lnk: `cmd.lnk`, `cmd_admin.lnk`, `cmd_minimized.lnk` could not run directly from the Windows Explorer (Windows 7) because the inner `%COMSPEC%` target command string was not surrounded by the quotes (specific COM component behaviour).
* changed: Scripts/Config/tmpl: replaced `runas_admin.lnk.dat` by the `cmd_admin.lnk` because it does not having differences anymore
2019.07.18:
* fixed: Scripts/Tools/ToolAdaptors/totalcmd: `TortoiseProcByNestedWC.bat` script missed warnings/errors output
* changed: Scripts/Tools/ToolAdaptors/totalcmd: `TortoiseProcByNestedWC.bat` call return wait flag
* refactor: Scripts/Tools/ToolAdaptors/totalcmd: `TortoiseProcByNestedWC.bat` script minor refactor
2019.07.18:
* fixed: Scripts/Tools/ToolAdaptors/totalcmd: `TortoiseProcByNestedWC.bat` flags parse
2019.07.17:
* new: Scripts/Tools/ToolAdaptors/totalcmd: svn icons
2019.07.16:
* fixed: Scripts/Tools: workaround for error message `conversion from CP65001 unsupported` from the iconv utility (`ansi2any.bat` and `any2ansi.bat` scripts)
* new: Scripts/Tools/ToolAdaptors/totalcmd: `-pause_on_error` and `-pause_timeout_sec` command line flags to rest of scripts
* changed: Scripts/Tools/ToolAdaptors/totalcmd: switched the `svn.bar` to use `-chcp 65001` flag over the `TortoiseProcByNestedWC.bat` script calls
* changed: Scripts/Tools/ToolAdaptors/totalcmd: switched the `svn.bar` to use `call.vbs` script and `-pause_on_error` flag currently as a more reliable
2019.07.16:
* refactor: Scripts/Tools/ToolAdaptors/totalcmd: minor refactor
2019.07.16:
* refactor: Scripts/Tools/ToolAdaptors/totalcmd: flags global rename
2019.07.16:
* new: Scripts/Tools/ToolAdaptors/totalcmd: `-chcp` flag for scripts which does consume the input by the command line to enable read the unicode strings (not from a file list)
* new: Scripts/Tools/ToolAdaptors/totalcmd: `-pause_on_exit` flag for scripts which does consume the input by the command line (not from a file list)
2019.07.16:
* changed: Scripts/Tools/ToolAdaptors/totalcmd: missed changes
2019.07.15:
* new: Scripts/Tools/ToolAdaptors/totalcmd: saveload lists edit
* changed: Scripts/Tools/ToolAdaptors/totalcmd: readme update
* refactor: Scripts/Tools/ToolAdaptors/totalcmd: minor button bars refactor
2019.07.15:
* refactor: Scripts/Tools/ToolAdaptors/totalcmd: icons rename
2019.07.15:
* changed: Scripts/Tools/ToolAdaptors/totalcmd: ButtonBars: switched `svn.bar` from `TortoiseProc.bat` (ansi only) script to `TortoiseProcByList.bat` (w/ unicode) script usage
2019.07.14:
* fixed: Scripts/Tools/ToolAdaptors/totalcmd: ButtonBars/_menu.bar: missed svn menu bar usage
* new: Scripts/Tools/ToolAdaptors/totalcmd: svn menu icon
2019.07.14:
* fixed: Scripts/Tools/ToolAdaptors/totalcmd: flags parse bug in scripts in the previous change
* fixed: Scripts/Tools/ToolAdaptors/totalcmd: multiple fixes for locale restore on a script exit
* fixed: Scripts/Tools/ToolAdaptors/totalcmd: `configure.bat` backup and copy logic is improved
* new: Scripts/Tools/ToolAdaptors/totalcmd: `compare_files*.bat` and `compare_sorted_files*.bat` now can compare unicode file paths
* changed: Scripts/Tools/ToolAdaptors/totalcmd: `compare_sorted_files*.bat` scripts now use temporary directory instead of a directory with files being compared
* changed: Scripts/Tools/ToolAdaptors/totalcmd: readme update
* refactor: Scripts/Tools: minor refactor
* refactor: Scripts/Tools/ToolAdaptors/totalcmd: `compare_files*.bat` and `compare_sorted_files*.bat` refactored to use a common base code and so error codes
2019.07.13:
* fixed: Scripts/Tools/ToolAdaptors/totalcmd: accidental pause on exit in multiple scripts, attach the pause to the `-pause_on_exit` to explicitly pause on exit (must be removed in case of call to `call_nowindow*.vbs`)
* new: Scripts/Tools/ToolAdaptors/totalcmd: notepad icons
* changed: Scripts/Tools/ToolAdaptors/totalcmd: split the notepad new into the new and the new to save, where the new item can be used inside an opened archive (`%P` is not used)
* changed: Scripts/Tools/ToolAdaptors/totalcmd: readme update
* refactor: Scripts/Tools/ToolAdaptors/totalcmd: minor refactor
2019.07.10:
* fixed: Scripts/Tools/ToolAdaptors/totalcmd: the file list selection feature (load) has been traverse a directory from the selection list recursively when must not
2019.07.08:
* fixed: Scripts/Tools/ToolAdaptors/totalcmd: configure.bat: `profile.vars` overwrite w/o backup, rotation implemented
2019.07.08:
* changed: back merge from tacklelib project
2019.07.06:
* changed: Scripts/Tools/admin/Telemetry: 04_disable_telemetry_junk_win7.bat: more details
2019.07.06:
* changed: Scripts/Tools/admin/Telemetry: added commands self print into stdout, lines separator
2019.07.06:
* new: Scripts/Tools/admin: added `description` and `repositories` sections in respective text files to be able to find new versions
* new: svn ignores
* removed: Scripts/Tools/admin: WSUS moved to the KnownIssues
2019.07.06:
* new: Scripts/Tools/admin/KnownIssues: `admin_windows7_crash_updates.txt` file to list updates which might crash the system after reboot
* new: Scripts/Tools/admin/KnownIssues: `admin_windows7_known_issues.txt` file to list known issues and solutions for them
* new: Scripts/Tools/admin/Telemetry: `admin_windows7_telemetry_precaution.txt` file to describe steps to remove or block telemetry injection in the Windows7
2019.07.03:
* changed: Scripts/Tools/admin/Telemetry: minor change
2019.07.03:
* fixed: Scripts/Tools/ToolAdaptors/totalcmd: `configure.bat` script multiple fixes
* new: Scripts/Tools/ToolAdaptors/totalcmd: configure.bat: `configure.bat` can configure now into outer directory instead of inner one as is by default (if no input parameters)
* new: Scripts/Tools/ToolAdaptors/totalcmd: configure.bat: `configure.bat` now tries to create `%SYSTEMROOT%\System64` automatically if not done yet (`System64` must be visible from any bitness mode, when the `Sysnative` is visible only in the 32-bit mode)
* new: Scripts/Tools/ToolAdaptors/totalcmd: Total Commander button bars examples for all scripts
* new: Scripts/Tools/ToolAdaptors/totalcmd/lnk: `mklink_system64.bat` script to create more reliable `%SYSTEMROOT%\System64` directory instead of usage the `%SYSTEMROOT%\Sysnative`, which is accessible only in the 32-bit mode
* removed: Scripts/Tools/ToolAdaptors/totalcmd: removed generation (and usage) the `configure.user.bat` script from the `configure.bat` script as not needed anymore
* changed: Scripts/Tools/ToolAdaptors/totalcmd: `configure.bat` does configure the `CONTOOLS_ROOT` variable from the input parameter instead of an user input
* changed: Scripts/Tools/ToolAdaptors/totalcmd: readme update
* refactor: Scripts/Tools/ToolAdaptors/totalcmd: minor refactor
2019.07.02:
* changed: Scripts/Tools/admin/Telemetry: add interaction with the user to ask for quiet uninstall (now is not by default, because Event Viewer can contain errors after unsuccessful uninstall and user might not to known that)
2019.06.30:
* fixed: Scripts/Tools/ToolAdaptors/totalcmd: TortoiseProc.bat: script does not process all records if quantity was greater than TORTOISEPROC_MAX_CALLS
* fixed: Scripts/Tools/ToolAdaptors/totalcmd: TortoiseProcByNestedWC.bat: script does not process all records if quantity was greater than TORTOISEPROC_MAX_CALLS
* removed: Scripts/Tools/ToolAdaptors/totalcmd: TortoiseProcByNestedWC.bat: removed usage of the TORTOISEPROC_MAX_CALLS variable because a user may want to choose which one repository must be committed at first between all records instead of the TORTOISEPROC_MAX_CALLS records
* new: Scripts/Tools/tasks: added ability to lock run of new tasks until left 0 or defined number of running tasks to run next tasks up to the TORTOISEPROC_MAX_CALLS quantity
* new: Scripts/Tools/ToolAdaptors/totalcmd: TortoiseProc.bat: wait until close all opened records to process next TORTOISEPROC_MAX_CALLS records
* new: Scripts/Tools/ToolAdaptors/totalcmd: TortoiseProcByList.bat script to process records from a list file
* changed: Scripts/Tools/ToolAdaptors/totalcmd: readme update
* refactor: Scripts/Tools/ToolAdaptors/totalcmd: scripts refactor
2019.06.29:
* fixed: Scripts/Tools/ToolAdaptors/totalcmd: instant exit on error w/o pause (save_file_list.bat)
* new: Scripts/Tools/ToolAdaptors/totalcmd: copy_file_to_files_by_list.bat script to copy single file to multiple files by a list
* new: Scripts/Tools/ToolAdaptors/totalcmd: save/load/by/shell_copy_file_to_files_by_list a list icons
* removed: Scripts/Tools/ToolAdaptors/totalcmd: `-in_utf16` flag in save_file_list.bat as not required
* changed: Scripts/Tools/ToolAdaptors/totalcmd: changed `xcopy` to `copy` usage in case of single file to file copy
* changed: Scripts/Tools/ToolAdaptors/totalcmd: readme update
* refactor: Scripts/Tools/ToolAdaptors/totalcmd: minor refactor
2019.06.28:
* new: Scripts/Tools/ToolAdaptors/ffmpeg: ffmpeg_cut.bat and ffmpeg_cut_dur.bat to cut a video file
2019.06.28:
* fixed: Scripts/Tools/ToolAdaptors/totalcmd: icons minor alignment
2019.06.27:
* fixed: Scripts/Tools/ToolAdaptors/totalcmd: minor fixes
* fixed: minor fixes
* new: Scripts/Tools/ToolAdaptors/totalcmd: save file selection lists through the `save_file_list.bat` script + icons
* new: Scripts/Tools/ToolAdaptors/totalcmd: load file selection lists through the `Find Files` dialog search templates feature icons
* new: `README_EN.deps.txt` file for dependencies description
* changed: Scripts/Tools/ToolAdaptors/totalcmd: readme file update
* changed: Scripts/Tools/ToolAdaptors/totalcmd: missed changes in configure.bat
* changed: main readme updated
2019.06.27:
* fixed: Scripts/Tools/ToolAdaptors/totalcmd: minor text alignment in images/compare_files_in_sorted_list.ico
* new: Scripts/Tools/ToolAdaptors/totalcmd: create_empty_files_by_list.bat script + icons
* new: Scripts/Tools/ToolAdaptors/totalcmd: icons for lists save/load feature
* changed: Scripts/Tools/ToolAdaptors/totalcmd: readme file update
2019.06.27:
* refactor: minor changes
2019.06.20:
* new: Scripts/Tools/admin/WSUS: `ProbableIssues.txt`
2019.06.04:
* new: Scripts/Tools/ToolAdaptors/totalcmd/scm: svn/svn_copy_by_list.bat, git/git_copy_by_list.bat scripts + icons
* changed: Scripts/Tools/ToolAdaptors/totalcmd: readme update
2019.06.03:
* refactor: global scripts refactor to replace `goto :EOF` by `exit /b` as a might be faster command
2019.05.29:
* changed: minor readme update
2019.05.11:
* changed: Scripts/Tools/admin/ProductKey: minor readme update
2019.05.07:
* fixed: `configure.bat` script call
* fixed: Scripts/Tests/batscripts: utilities usage from scripts
* new: Utilities: `Utilities/bin` as an external directory
* new: svn ignore properties
2019.04.22:
* new: Scripts/Tools/admin/VM: `compact_vdi.bat` script to call the VirtualBox compact command on all `*.vdi` files in a directory
2019.04.14:
* new: Scripts/Tools/admin: `comspec_as_svc.bat` script to run cmd.exe interactively in the Local System Account (Session 0 process)
2019.04.05:
* new: Scripts/Tools/admin: `test_connect.bat` script to test remote ports on open (PowerShell)
2019.03.27:
* changed: catalog structure cleanup
2019.03.20:
* new: Scripts/Tools/admin/Telemetry: more windows 7 crashing updates
2019.03.20:
* new: Scripts/Tools/admin/Telemetry: windows 7 updates crashing the boot
2019.03.20:
* new: Scripts/Tools/admin/Telemetry: more windows 7 junk disabler scripts
2019.03.20:
* fixed: Scripts/Tools: fix in the `set_vars_from_locked_file_pair.sh` for the back compatibility with a bash version lower than `bash-4.2-alpha`
* fixed: Scripts/Tools/ToolAdaptors/sh: fix in the `bash_entry` to run in the Cygwin 1.5.x and Linux
2019.03.18:
* fixed: Scripts/Tools: minor fix in `stringlib.sh`
2019.03.14:
* changed: Scripts/Tools/ToolAdaptors/sh: bash_entry reworked, make it usable from the source command
* added: Scripts/Tools/ToolAdaptors/sh: bash_entry: ScriptBaseInit function to init base variables after script execution
* added: Scripts/Tools/ToolAdaptors/sh: bash_entry: return_local function to return local variables (as not exported)
* fixed: Scripts/Tools: minor fix in set_vars_from_locked_file_pair.sh script
2019.02.23:
* changed: Scripts/Tools/ToolAdaptors/totalcmd: readme minor update
2019.02.22:
* fixed: Scripts/Tools: `set_vars_from_locked_file_pair.sh` file redirection has no exclusion effect in the linux, must be accompanied together with the flock usage
2019.02.22:
* new: Scripts/Tools: `set_vars_from_locked_file_pair.sh` script to set variables from 2 files after a file lock acquire (through `source` command)
2019.02.22:
* fixed: Scripts/Tools: `set_vars_from_locked_file_pair.bat` variables setup after the lock release instead of under the lock
2019.02.21:
* new: Scripts/Tools: `set_vars_from_locked_file_pair.bat` script to set variables from 2 files after a file lock acquire. Useful where a variable list sets outside in a child process and must be returned back into a parent windows batch script process.
2019.02.21:
* refactor: minor cleanup
2019.01.20:
* fixed: 3dparty: tacklelib merge
* fixed: configure execution
* new: readme, old renamed
2019.01.20:
* new: 3dparty: tacklelib generic puspose library for C++11 and cmake v3 build system
* new: tacklelib--cmake generic puspose cmake scripts for cmake v3 build system
2019.01.20:
* fixed: pipetimes truncation warnings
* refactor: Binaries/Sources directories rename into bin/src
2019.01.20:
* changed: minor readme and old changelog update
2019.01.17:
* fixed: svncmd deploy in configure.bat script
* changed: moved executable binaries from Scripts/Tools into Utilities/Binaries
* changed: added Utilities/Binaries deploy to Scripts/Tools into configure.bat script
2019.01.15:
* new: Scripts/Tools/ToolAdaptors/totalcmd: ffmpeg_convert_by_list.bat script for ffmpeg_concat_copy_by_list.bat integration
* minor refactor
2019.01.13:
* fixed: Scripts/Tools/ToolAdaptors/totalcmd: ffmpeg/ffmpeg_concat_copy_by_list.bat parentheses in file names
2019.01.11:
* new: Scripts/Tools/ToolAdaptors/totalcmd: console group menu icon, compare icons
* added: Scripts/Tools/ToolAdaptors/totalcmd: dev images
* refactor: Scripts/Tools/ToolAdaptors/totalcmd: rename/move icons
* removed: Scripts/Tools/ToolAdaptors/totalcmd: unnecessary png images
2019.01.11:
* fixed: Scripts/Tools/ToolAdaptors/bat: mklink run error
* fixed: Scripts/Tools/admin: Telemetry/disable_telemetry_junk_win7.bat script execution on fresh installed Windows
2018.12.31:
* changed: Scripts/Tools/ToolAdaptors/totalcmd: minor notepad_edit_files_by_list.bat improvement
2018.12.31:
* new: Scripts/Tools/encoding: convert_utf16le_to_utf8.bat script
2018.12.25:
* fixed: Scripts/Tools/ToolAdaptors/lnk: `*_sysnative_*.lnk` shortcuts replaced by `*_system64_*.lnk` shortcuts to fix problems over `sysnative` directory usage in particular cases (see `Open Administrator console window in current directory` in the readme file)
* changed: Scripts/Tools/ToolAdaptors/lnk: updated all other shortcuts to remove references to drive `C:\`
2018.12.24:
* refactor: Scripts/Tools/ToolAdaptors/totalcmd: `EDITOR` variable replaced by `NPP_EDITOR`, added BASIC_TEXT_EDITOR variable to use classic windows notepad over notepad++
2018.12.24:
* new: Scripts/Tools/ToolAdaptors/totalcmd: added `notepad_new_session.bat` script to open a new session of notepad independently to current selection
2018.12.23:
* new: Scripts/Tools/admin: WMI/fix_reactivated_in_namespace_eventviewer_error_Event_ID_10.vbs script to fix `Event ID 10` error in the event viewer
2018.12.21:
* fixed: Scripts/Tools/ToolAdaptors: file directories shell rename
2018.12.15:
* new: Utilities: touch utility w/o sources (taken from Steve Miller's `Win32 Console Toolbox`, see for details: https://stevemiller.net/apps/)
* new: Scripts/Tools/ToolAdaptors: file timestamp copy script `copy_timestamp_by_pttn.bat` to copy timestamps from one file to another by file path pattern
2018.12.15:
* fixed: safe `title` call
2018.12.15:
* fixed: Utilities: envvarcmp invalid return code on equal variables w/o anything to print
* changed: Utilities: enable breakpoints break in the Debug
2018.12.13:
* fixed: Scripts/Tools/ToolAdaptors/totalcmd: unicode file paths/names usage in scm/shell rename/remove scripts
2018.12.12:
* fixed: Scripts/Tools/touch.bat: not fully correct implementation
2018.11.07:
* new: Scripts/Tools/ToolAdaptors/totalcmd: shell only rename/move to speed up pure shell tasks
2018.10.23:
* new: Scripts/Tools/ToolAdaptors/ffmpeg/ffmpeg_concat_copy_by_list.bat script for batch conversion
2018.10.23:
* new: Scripts/Tools/trapliblite.sh: lightweight trap stack implementation
2018.10.07:
* new: open dialog together with the save dialog functionality
* refactor: wxSaveFileDialog renamed into wxFileDialog
2018.10.07:
* fixed: multiple minor build issues
* new: Utilities/*/gui/wxSaveFileDialog project (wxWidgets library must be installed separately into `_3dparty` subdirectory, see the `INSTALLATION` section in the `README_EN.txt` file for details)
* added: wxWidgets setup.h for the msvc build to build as much as possible a minimal sized binary linked with the wxWidgets library
* changed: git/svn ignores
* changed: rebuilt all utilities
2018.09.10:
* changed: Scripts/Tools/ToolAdaptors/totalcmd: configure.bat script update
* changed: convert_hextbl_utf16le_to_u16cp.bat script speedup
2018.09.09:
* new: convert_hextbl_utf16le_to_u16cp.bat script to convert utf-16 LE in a hex table into unicode code points
* changed: Scripts/Tools/ToolAdaptors/totalcmd: improved notepad_edit_files_by_list.bat script to open different language files
2018.09.01:
* fixed: Tools\admin\Telemetry: `disable_telemetry_junk_win7.bat` script workarounded over `Access Denided` errors around `takeown` and `icacls` system utilities.
* fixed: TargetProject.PostBuildStep.bat build script
* new: retakeowner utility to take ownershipe where the system `takeown` and `icacls` fails with access denided error.
* minor cleanup
2018.08.29:
* fixed: Scripts/Tools/ToolAdaptors/totalcmd: svn/git move scripts redesigned to avoid creation a subdirectory with file name as name
2018.08.28:
* refactor: minor improvement
2018.08.11:
* new: sleep.bat script
* changed: replaced direct usage of the pathping.exe utility by the sleep.bat script
* changed: speed up locks and tasks scripts by replacing uuid.exe usage by %RANDOM%
2018.08.05:
* new: Scripts/Tools/ToolAdaptors/totalcmd: notepad_edit_files_by_list.bat script (modificated version of notepad_edit_files.bat) to bypass command interpreter's 8190 characters limit of command line length
* refactor: Scripts/Tools/ToolAdaptors/totalcmd: minor refactor
2018.07.28:
* fixed: typo
2018.07.28:
* new: Scripts/Tools/ToolAdaptors/totalcmd: standalone changelog (all previous history partially copied from the root changelog)
* changed: Scripts/Tools/ToolAdaptors/totalcmd: minor icons edit
2018.07.24:
* new: totalcmd/create_dirs_by_list.bat scripts + icons
* new: svn group buttons separator-title icon
2018.07.23:
* fixed: totalcmd/scm/git: git commands does ignore absolute path in a command argument and searches the current directory for a repository
* minor totalcmd scripts improvement
2018.07.23:
* fixed: totalcmd/scm/svn/svn_rename_by_list.bat, totalcmd/scm/git/git_rename_by_list.bat scripts
* new: totalcmd/scm/svn/svn_move_by_list.bat, totalcmd/scm/git/git_move_by_list.bat scripts + icons
* new: get_shared_path.bat script
* minor refactor and cleanup
2018.07.20:
* fixed: minor error output cleanup
2018.07.19:
* fixed: typo
* fixed: better version control detection in totalcmd/scm/svn/svn_rename_by_list.bat script
* new: changelog for per changeset commit logs
* new: totalcmd/scm/svn/svn_rename_by_list.bat and totalcmd/scm/git/git_rename_by_list.bat scripts + icons for toolbar
* new: svn/git ignore files
* changed: totalcmd/scm/svn/svn_rename_by_list.bat and totalcmd/scm/git/git_rename_by_list.bat scripts adopted to rename both files and directories
* refactor: totalcmd scripts
* minor fixup and cleanup