-
-
Notifications
You must be signed in to change notification settings - Fork 0
/
changelog.txt
3875 lines (2906 loc) · 203 KB
/
changelog.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
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 imrovement
2024.08.18:
* fixed: Scripts/Tools/std/echo_*.bat: avoid error level change
* changed: Scripts/Tools/std: echo_*.bat, set_var.bat: code imrovement
* 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 outter 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 compatability 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`
* chnaged: 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