-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathchanges.txt
1914 lines (1889 loc) · 90.8 KB
/
changes.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
2.0.0
- rel: 19.10.2024, Major Update
- sum: most is now open source,
also including tools sfktray
and a simple image viewer.
everything is now 64 bit first.
full rework of source code for easier reuse.
some added functions, and some bug fixes.
- add: sfk (x)replace is now fully open source.
compared to replace in sfk base before
it is much faster, no matter if replacing
same or different length.
- chg: sfk.exe for windows is now 64 bits.
if you need a 32 bit version use sfkwinxp.exe.
- chg: global rework of source code, with more defines
to select which parts should be built.
- add: sfk zip: option -nocomp to add files to a zip file
with no compression, as fast as possible.
- add: sfk replace: options -showhits, -showmiss.
- add: sfk list -sincedir: option -ignoretime to force
deep compare even if size and time are equal.
- add: sfk sel ... +sft mputx and cputx to set exec flag
on all transferred files
- add: sfk webserv: option -style=f to supply an own
css file to extend or overwrite page styles
- add: sfk filetime: option -unix to print just the
unix time of a file in seconds
- add: sfk view: option -using x to run x instead
of dview.exe or dview.bat
- add: sfk head: head50 as alias for head -lines=50
- add: sfk tail: tail50 as alias for tail -lines=50
- add: sfk ... +iview, to view selected images
of a folder by iview.exe
- chg: sfk calc: now supports brackets by default.
- fix: sfk wtou -tofile: no longer removes CR characters
- fix: sfk batch tmp.sh under Windows did not produce bash script
- fix: sfk version: did not show version if binary contained
text "$version:" multiple times. the command now
searches for "$version:vernum=" or "$version:name=".
- add: touch: improved error message if text list is passed.
- add: sfk encode -wsp, sfk help wsp to protect whitespace
in text for email or forum
- del: sfk update, getdv
- fix: xe: showed an error "zip dir entry, cannot close"
when listing nested archive entries
- chg: sfk wget: no longer tries caching to memory.
- doc: sfk help var: rework of text.
internal:
- add: sfk sel mydir .txt +passto extprog
- add: type filelist.txt | sfk list -size -ilist
- add: generic -todir outdir option
- add: sfk play, wav (not compiled by default)
1.9.9
- rel: 15.08.2023, Major Update
- sum: improved scripting and network functions.
detail improvements and bugfixes.
- CHG: SYNTAX CHANGE: option -keepchain is now active by default.
this means a chain like
sfk sel -today mydir +run ... +tell ...
no longer stops at the 2nd command if no files are found.
command +run just skips to +tell.
use option -stoponempty for the old behaviour,
or set SFK_CONFIG=stoponempty
the new default allows to use
sfk sel -today mydir1 +sft server cput
+then sel -today mydir2 +sft server cput
without stopping inbetween because mydir1 has no recent files.
- add: sfk if ... begin ... +elseif ... +else ... +endif.
- add: sfk webproxy, a simple http proxy for analysis
of traffic, and for routing workarounds.
- add: sfk web: option -headerstovar to put received
http headers into a variable.
- add: sfk web: option -headertovar to put content
of a single http header into a variable.
- add: sfk udpsend: return code support.
- add: sfk utoa, wtoa: option -showfail to list
the input codes which fail to convert.
- add: the sfk tcp toolkit, consisting of commands like
accept, connect, send, receive, to write simple
tcp test scripts. for info: sfk help tcp
- add: sfk list: option -xsize to show mixed size
infos depending on file size
- add: udpdump: option -time to tell receive time.
- add: udpdump: support for multiple -[not]from.
- add: touch: option -delay=n to wait per file.
- add: sysinfo: extended by bool size info.
- add: help color: SFK_COLORS shortcuts b and w.
- add: sfk sleep: support for 1s[ec], 1m[inute].
- add: sfk batch: improved function templates,
extra perline template.
- add: sfk samp c tmp.c: full rework of template code
for an instant c or c++ program, including
basic tool functions.
- add: sfk help env: list supported environment vars.
- add: sfk encode -base64: option -linechars=n.
- add: sfk unsetvar, delete an sfk variable.
- add: sfk loop: optional delay time.
- add: sfk fjoin: join files with any filename.
- add: sfk -var: #(isempty(a)) now tells
if variable a is not set or empty
- fix: sfk perline no longer removes %1 to %9 in text
when used directly. in a script, these are still
replaced by parameters given to sfk label,
which can be changed by -prefix= option. [23531]
- fix: sfk treesize: -gb did not work with -quiet.
- fix: filter of multiple files: unexpected context.
- fix: sfk ip: memory leak when used repeatedly.
- fix: sfk ftpserv: now sends a correct error reply
if client requests a non existing file.
- chg: sfk knxdump: support ga1 value up to 31.
- fix: sfk knxdump: wrong output with 14 byte text.
- doc: sfk stat: fixed wrong example text.
- doc: sfk olist: how to view contents of selected
office files in a folder directly with dview.
- doc: sfk view: -office option, view office example
- doc: sfk xex: info about overlapping char groups.
- doc: sfk call: more details on recursion limit.
- doc: sfk basic: infos on slash and quote caveats.
- doc: sfk deblank: improved description.
- doc: sfk label, call, wtou: improved help.
- doc: sfk video: improved example.
- dep: deprecated sfk media removed from help.
joining files should now be done by fjoin.
- dep: sfk ... +tif +tcall +fcall +tend +fend
are deprecated as they are too complex
and cause errors.
internal:
- chg: sfk batch: help now shows .sh examples on linux
- fix: errors from single bit bool variables
on some compilers.
- opt: reduced stack load per call from 145k to 90k
by moving functions to sfkext.cpp
- add: sfk poplines, get random lines from a file
- add: SFK_COLORS=black or white shortcut support
- chg: sfk web, httpclient now stores all header fields
in provided coi, not just selected
- inf: #(var) content replace must always be done
only before the next +cmd. [23562]
- add: #(mod(a,n))
- add: more reduced sfklib compile can now be done by
-DUSE_SFK_BASE -DSFKNOPACK -DSFKNOVFILE -DSFK_NO_NET
- add: clipto64, clipfrom64
1.9.8.2
- rel: 20.09.2022, Major Update
- sum: added clipboard access on desktop linux
and mac. copy to clipboard is now faster.
detail improvements and bugfixes.
- add: sfk fromclip/toclip on Macintosh,
through the pbcopy/pbpaste tool.
- add: sfk fromclip/toclip on desktop linux,
through the xclip tool.
- add: "if" now accepts text "1" or "0" to execute
or skip the following command or block.
- add: sfk incvar, decvar to increase or decrease
the value of a numeric variable.
- add: sfk unzip -asdir x renames the top level
folder from a zip file on extraction.
- add: sfk ping: option -noterm to allow writing
of ping output to a file.
- add: sfk make-random-file: option -char c to
create a file filled with character c
- add: sfk load: option -force to continue script
on missing file
- add: sfk calc: -hex to print hexadecimal result.
- add: sfk sft ... putx: alias for put -setexec=*
- add: option -maxsub=n to include up to n subdir
levels in commands like list.
- add: sfk knxsend, knxdump: more data types.
- opt: sfk toclip: massive performance improvement
with larger data, if -trim etc. options
are not used.
- opt: sfk fromclip: performance improvement
if following command can receive binary,
like xed or xex.
- chg: sfk toclip: now receives binary and text data,
to avoid unwanted conversions.
- fix: hexfind: -maxdump was ignored in sfk ose.
- fix: sfk batch vedit.bat: join of videos now
works with ffmpeg 4.4.1 or higher
- fix: sfk ... +hexdump -offlen too much output.
- fix: sfk data: symbols like $1foo did not reuse.
- fix: make-random-file: sometimes added LfLf
instead of just CrLf line endings.
- doc: more details on -deacc search option.
- doc: alias: xclip example for windows.
internal:
- add: sfk sft3, an alias to access an sft server
instantly on port 3000
- add: sfk list: option -xsize to show mixed size
infos depending on file size
- add: sfk readbytes
1.9.8
- rel: 12.04.2021, Major Update
- sum: instant web server for mobile image upload
now allows folder access.
added uuencode, uudecode, xxencode, xxdecode
to embed binary files in plain text,
e.g. in email or documentation.
web client now supports basic authentication.
sfk oload can now insert .xlsx sheet headers.
- CHG: sfk webserv: now allows sub directory access
by default. use option -nosub for old behaviour.
folders are listed in green and can be entered.
adding -rw allows upload into sub directories.
- add: sfk uuencode, uudecode, xxencode, xxdecode
to convert binary files to plain ASCII text,
for embedding in email or documentation.
- add: sfk oload, ofilter: option -subnames to insert
header lines with .xlsx sheet file names.
- add: sfk (x)find: option -notnames to list names
of files not containing a pattern.
- add: sfk web, wget: options -user and -pw to set
http basic authentication.
- add: general option -webuser, -webpw for commands
that can acces http:// urls like filter.
- add: sfk pingdiff, find new devices in network.
- fix: sfk webserv: did not support filenames
with accent and umlaut characters.
- fix: sfk webserv: -nolist did not work.
- add: sfk web, wget: option -noclose
to disable "Connection: close" header.
- add: sfk fromclip: if clipboard is locked by another app
then sfk auto retries to access it up to 5 times,
waiting up to 500 msec. number of tries can be
changed by general option -cliptries=n.
- chg: sfk fromclip: command chain is no longer stopped
if no text is available, or access failed.
a return code is now set for evaluation.
- add: sfk variables: #(size(v)) now tells the number
of bytes in variable v, with text or binary data.
- add: sfk tcping, check if a server accepts connections.
- add: sfk snapto: -pure=2 now drops the :snapfile header.
- add: sfk run: sfk variable run.lastrc now contains
the return code of the called program.
- chg: webserv: now drops "?parms" or "#bookmark"
from given url to provide a file.
- chg: max filename/url length increased to 1024.
- add: sfk help var: variable expression 'ends' now tells
if a string ends with a given text.
- add: run and -to output masks: now supports $relpath
to insert sub path relative to start folder.
- add: webserv: more content types.
- add: sfk batch webreq.bat to create an example script
with a fully defined web request.
- add: sfk webserv -rw: now shows a minimal progress
indicator on file uploads.
- add: sfk udpdump/udpsend -broad for broadcast support.
- add: sfk atow, utow: option -nobom.
- add: sfk ... +calc -sum, add values from chain text.
- fix: better chain input detection with setvar, calc.
- chg: sfk ping: no longer requires admin rights
on Windows 10. changed help text on that.
- chg: sfk webserv: now also accepts proxy-style requests
starting with http://servername.
- del: sfk webserv: -wide listing w/o downloadable links.
- fix: sfk list mydir -tofile out.txt did not work.
- fix: sfk listcodes: examples
- fix: sfk snapto, md5gento: output file could not
be read by subsequent commands.
- add: knxsend/dump support for 16 bit values and text.
internal:
- add: SFK_COLORS shortcuts b,w
1.9.7
Revision 2:
- rel: 17.09.2020, Major Update
- sum: important bugfix when reading text from stdin.
improved web server. copy now copies folder times
by default. improved web access options.
- FIX: Windows: type in.txt | sfk ... produced unexpected
joined input lines due to a Visual 2015 runtime bug.
- fix: sync: unexpected difference listings on folder objects,
on sync to external disk. now size diffs are checked
only with files, not folders.
- CHG: copy/sync: now copies folder times by default.
a one-time copy of many folder times may occur
during the next backup. this can be disabled
by option -nodirtime, or SET SFK_CONFIG=nodirtime
- add: copy/sync: -nodirtime to not copy folder times.
- add: sfk web: option -head[er] to add custom headers.
- add: sfk web: option -request to fully define
the http request to use.
- add: sfk webserv -rw: multi file upload support.
- add: sfk webserv: -headers to show incoming headers.
- add: windows: auto adaption to changed console width.
- add: sfk run: write #(qname) to enquote variable 'name'
by double quotes.
- chg: sfk calc: no longer expects chain input data
if expression without #text is given.
- fix: sfk webserv: wrong content type for .JPG with
capital letters.
- fix: copy/sync: -verbose did not work.
- fix: make-random-file with -text: wrong line ends
and output file sizes under windows.
- add: unzip: -force to continue after errors.
- add: sfk video, how to edit video files.
sfk batch vedit.bat creates a script
to combine VLC and ffmpeg for video cutting.
- add: sft: -spat support, for run expressions.
- chg: main help: show sfk batch instead of sfk script.
- doc: script: rework of example commands.
Initial Release:
- rel: 23.05.2020, Major Update
- sum: Improved file copy and backup, shown in a new script template.
SFK for Mac OS/X is now available as a 64-bit binary.
Improved FTP/SFT clients. Mobile friendly web server.
Improved batch support on linux. Many bug fixes and detail improvements.
- CHG: SFK for Windows: now uses the Visual Studio 2015 runtime
also for 32-bit binaries (it always used it for the
64 bit binaries). This may cause a one-time recopy of files
with sfk copy/sync and sft cput, as the new runtime
interprets file dates in daylight savings time different.
- CHG: SYNTAX CHANGE: sfk filter ++word1 ++word2 is deprecated.
Use instead sfk filter -and+word1 -and+word2,
or sfk filter "-+word1*word2" to search in given order.
The "++" will be used in a future version to control
command chaining data flow.
- CHG: SYNTAX CHANGE: script remarks starting like //text
without any whitespace are now deprecated.
sfk script, call, perline now require that "//"
remarks are followed by one space,
to avoid ambiquities with //pathname UNC paths.
- FIX: sfk sel mydir +del a.txt deleted mydir files.
now the parameter conflict produces an error.
- CHG: FTP/SFT CLIENT SYNTAX CHANGE: filenames containing
whitespace like 'the dir/the file.txt' can no longer
be typed as is, but must be surrounded by quotes "".
this is because ftp/sft now allows to add another
parameter, which is a different target filename.
- CHG: errors and warnings are now prefixed by the current
sfk command name, to find script errors easier.
- chg: sfk batch: new example scripts. default is a small script
with a simple file copy example. added option -full
to create a large backup example script with different
commands on the same file set.
- add: sfk ftp/sft put now supports a different remote file name.
- add: sfk ftp/sft get now supports a different local file name.
- add: sfk sft put: option -setexec to set executable flag
on files when sending to a linux server.
- add: sfk webserv: mobile friendly layout
- add: script: empty parameters "" are now accepted the same
way as option -noop (no operation), avoiding many
unexpected syntax errors on optional input parameters.
- opt: sfk big, sfk late: massive performance improvement
when listing many files.
- chg: unknown options now produce an immediate error with
most commands, instead of a delayed or no error.
- chg: command chain no longer stops at +view.
- add: script -anyparms, alias for script -literal.
- chg: sfk clipsrc now also expands % to %%.
- chg: sfk dir/stat mydir +view now shows stats in dview.
- add: sfk list -withhead now passes header infos
like 'listing n of n files' to command chain.
- add: sfk dir/big/late full colored +view support.
- add: sfk syncnames, heuristic file name change sync.
- add: sfk calc: experimental brackets support.
- add: sfk time: option -strfpat to use strftime format.
- add: sfk date: just show the current date.
- add: sfk batch on linux/mac: now does chmod +x on the
created batch.
- add: sfk alias, mkcd on linux: detailed help in case
of error how to use it.
- add: sfk alias, mkcd on linux: if done using sudo then
the batch file owner is now set to the normal user.
- add: sfk sft: ~ as alias for localhost
- fix: sfk ftp/sft missing error text with single file.
- fix: sfk ... +view color of warnings was unreadable yellow,
now it is magenta like the sfk white background scheme.
- fix: dir, snapto: wrong typed options caused to select
all files of current folder.
- fix: -fileset: memory leaks on multiple use
in subsequent commands.
- fix: sfk sel -fileset fname did not work.
- chg: warning "cannot read file stat" is now just "cannot read".
- doc: sft -showip
internal:
- chg: tcpcon::read now returns -1 on connection close.
- add: tcpsend: support for -timeout option.
- chg: tcpsend: no longer adds CRLF by default.
add 0x0d0a for the old behaviour.
- add: sfk rerun, sfk sft rerun based on new runtime
- add: -noqwild, yet incomplete and just for file selection
- fix: sfk sft mput /foo, mget /foo to send/receive only
files starting like foo did not work. (internal)
- add: sfk sfs9, sf9 aliases.
- chg: chain.print for multi line text extended to 8 kb max
- dep: fileset remarks starting ";" (undocumented) are deprecated
- chg: internal filter +ls+ is now also deprecated
- del: options -addbin -copy -zip in processDirParms
- rv3: FileStat.read did not set utc,
causing cput time diff with vc14
- rv3: added udpcast -revserv, udpget
1.9.6
Revision 2:
- rel: 22.02.2020, Minor Update
- sum: Fixed CRC checksum calculation with 64-bit sfk.
Better handling of multiple network interfaces with sfk ip.
- FIX: sfk 64 bit: wrong crc checksum calculations.
sfk zip created wrong crc checksums.
sfk unzip showed wrong crc error messages.
sfk crc, crcgento, crccheck produced
wrong results.
- CHG: OUTPUT CHANGE: sfk ip under windows:
now gives a list of all possible ip's
if more than one network interface exists.
the preferred ip can now be filtered by
environment variable SFK_OWN_NET.
for batch files the output of 'sfk ip'
can also be predefined by SFK_OWN_IP.
- add: calc: now tolerates whitespace text.
- add: udpdump: sfk for windows: when listening
for multicast traffic sfk now listens
on all network interfaces.
- doc: xed: reasons for unexpected line breaks.
- fix: compile: vc14 (vs2015) support.
Initial Release:
- rel: 08.02.2020, Major Update
- sum: important bugfixes for file selection.
improved help for general options.
improved web server and scripting.
- FIX: multi directory file selection using
-dir ... -subdir ... -dir ... [-file]
selected far too few files, or stopped
with an error if another -file was given.
check your scripts for this combination.
- FIX: crash on some -dir -subdir usages in two
subsequent chain commands.
- chg: httpserv: improved page layout with
more compact file list output.
added option -wide for old format.
- add: script: system variables
sys.ownscript.name
sys.ownscript.text
to get the filename and text data
of the current running script.
- add: crccheck -sane to skip files which are
newer than the crc list.
- fix: option -fileset stopped the command chain,
following commands like +filter were ignored.
- chg: select: can now use a list of filenames
given by -flist.
- chg: xfind: now accepts filenames produced by
a previous command (just as extract and
xhexfind already did), allowing to run
a nested search.
- chg: ascii: alignment of first hex codes,
change of headline text.
- chg: sfk web: download limit default size
increased from 30 to 100 mb.
- doc: full rework of sfk help options.
- doc: select, zip: -flist examples.
- doc: stat: option -flist.
- doc: xfind: how to run a nested search with
xfind -names ... +xfind.
- doc: xfind: how to get result text and filename
within the same line.
- doc: xfind: example how to search a mail inbox.
- add: support for zip extension .jmod
internal:
- fix: possible crash with -fileset
initial:
- add: webserv: option -usehta
- chg: rework of tcping, tohtml.
- add: tcpsend -force empty data support
- add: -every=2nd, 3rd etc.
- add: syncnames
- add: snapto outer time, size
- fix: chain.justNamesFilter nptr check
- add: mput, alias of putall
1.9.5
Revision 2:
- rel: 28.08.2019, Major Update
- sum: improved difflines and reading from std input.
- add: sfk jsonform, reformat JSON data for easy
reading and searching
- add: SFKTray V1.1 now supports display of patterns
up, down, left, right, all instead of just
a single slot. for documentation and example
see: sfk status
- add: SFKTray Full V1.1 now supports up to 3
instances running in parallel,
with a total of up to 27 lights.
- add: sfk sft(serv) option -notify=h to show an
up or down arrow in SFKTray on file transfer
- add: tdifflines to use chain text
together with a file name
- add: difflines option -swap to change
order of input data
- add: windows: snapto -slow option to run with
a lower process priority.
- add: windows: fromclip option -tofile x.
- chg: hexdump: can now use -pure -recsize=n
to dump n input bytes per output record.
- fix: crash when using -i with empty input
- fix: mac compile
Initial Release:
- rel: 04.06.2019, Major Update
- sum: sfk snapto can now include text from
office files like .docx .xlsx .odt,
allowing fast loading and browsing
of the output file by Depeche View.
- add: sfk olist, list only office files
within a folder.
- add: snapto: option -office to include text
from office files like .docx .xlsx .odt
- add: snapto, ofind: option -justoffice to read only
office files, but not plain text files.
- chg: no longer loading binaries with commands
like snapto just due to a file mask,
but still by .extension. use option -wlbin
for the old behaviour.
- add: difflines: option to read from stdin.
- fix: difflines: example with variables.
- fix: require: if no version info was found
it produced a non speaking error.
now it assumes version 0.0.0
- fix: sfk ose: missing office file support.
- doc: help office: snapto examples.
- doc: sfk view: dview office notes.
1.9.4
Revision 3:
- rel: 21.03.2019, Minor Update
- sum: improved sfk name and rand. bugfix
for simple expressions using ortext.
- fix: simple expressions: crash when using
many [ortext] in the same search pattern.
- chg: name: no longer searches in meta data
by default, e.g. sfk name 1234 no longer
produces unexpected results because
their filesize is 1234.
- add: name: option -withmeta and -meta
to also search in meta data of index.
- add: name: -spat support.
- add: sfk fileserv, alias of sfk sftserv.
- add: sfk ... +put, alias of +sft ... cput.
- add: sfk ... +putall, alias of +sft ... mput.
- fix: rand: first value per process start
contained very few random
- add: rand: now supports larger values,
hex output, and setting a seed
- add: treesize: option -gb[yte] to list
all sizes in gigabytes.
- add: ping: option -time to display reply
time when pinging a single host
- doc: ping: info on graphical ping output
Revision 2:
- rel: 16.02.2019, Major Update
- sum: Improved office file text search
with options to produce UTF-8 output.
- fix: .xlsx content loading showed wrong
output text in some cases.
- add: ofind, oload, ofilter: option -utfout
to keep UTF-8 encoding on output text.
- add: ofind: option -utfin to allow use of
UTF-8 encoded search terms with -utfout.
- add: oload: option -raw to show xml content.
- chg: oload, ofilter: no longer shows
zip file comment.
Initial Release:
- rel: 10.02.2019, Major Update
- sum: SFK can now search and load office
file text contents, in Open Office
format files like .docx .xlsx .ods .odt.
Search functions now search only in
text files by default.
- CHG: Syntax Change: xfind now only searches
in plain text files, but not in binaries.
use xfindbin to search also binary files.
- CHG: Syntax Change: find now only searches
in plain text files, but not in binaries.
use findbin to search also binary files.
- add: ofind, search text in office files like
.docx .xlsx .ods .odt and plain text files.
- add: ofilter, filter text of an office file.
- add: oload, load text of an office file
for display or further processing.
- add: sfk help office, for details about
supported office file extensions.
- add: sfk alias, mkcd: support for SFK_PATH
environment variable, to write batch files
only into this folder.
- chg: sfk getdv: now also suggests to save
to SFK_PATH if given.
- add: echo: option -stream for best output
transfer to setvar or xed.
- dep: xtext is deprecated (redundant to xfind)
- dep: ftext is deprecated (redundant to find)
- fix: zipto: crash on sub folder names
containing accent characters,
especially on select ... +zipto.
- chg: sfk data: max content per symbol
is now 8 kbytes instead of 1.
- fix: xed: sfk ... +xed without any patterns
created unwanted color output.
internal:
rev3:
- add: fromtcp, replytcp
- del: olist documentation
- chg: unified execxfind
1.9.3
Revision 4:
- rel: 08.12.2018, Minor Update
- sum: improved scripting support.
the free SFKTray lite can now display
4 status lights.
- add: SFKTray Lite now supports 4 status slots.
- add: windows: fromclip +copy/move support.
allows to mark filenames in cmd.exe
then copy/move the marked names.
- add: sfk sel a.txt b.txt +copy out support.
- add: sfk filt in.txt -+pat +copy out support.
- add: addtovar: option -noline to not append
extra linefeeds.
- add: setvar: support slash patterns by -spat.
- add: getvar: option -tofile to write
variable content to a file.
- add: num: support of negative numbers.
- add: dir -juststat to show just statistics.
- add: ftpserv: -verbose now shows path info
on invalid path error, -verbose=2 shows
dump of input line.
- chg: ftp client: now -quiet no longer tells
"no filenames from previous commands".
- fix: rmtree: short confirm "rmtree." did not work.
- fix: dir repeated with +loop showed wrong
number of total bytes.
- chg: sfk dir now supports -noname.
- doc: setvar: examples for string editing.
- doc: xtext: find lines not matching a pattern.
- doc: filter: file copy examples.
Revision 3:
- rel: 01.11.2018, Major Update
- sum: improved scripting support. bugfix for scripts
running in folders with spaces in their name.
- FIX: sfk batch: script did not work within
folder names containing spaces,
like C:\users\Foo Bar\myscript.bat.
now sfk script "%~f0" with quotes is used.
fixed also related commands like
sfk samp sfk, sfk samp sfkbash.
- CHG: chaining: if chaining is stopped due to missing
filenames it now shows a notice again by default,
to avoid unexpected chain stops without any infos.
the notice can no longer be suppressed by -quiet,
but as always by -nonote.
- fix: option -quiet did not work globally.
- chg: chaining: -verbose no longer tells how the
command chain is stepped. use -tracechain instead.
- add: general option -keepchain to never stop the
command chain, even if commands that expect
filenames get none.
- add: label: support for all general options.
- add: setglobalopt to set global options.
- add: chaining support with where, index, script, home.
- add: encode -base64: option -nowrap to keep
output as one long line.
- fix: getcol: unexpected set of global -upat option.
- chg: sfk chars: now supports multiple code parameters.
- add: ffilter: warning on wrong parameter sequence.
- fix: copy -ltarg under windows showed source name.
- chg: zip reading: better error message on missing file.
- doc: tell: example how to print text starting with '+'.
- doc: wtou: added perline example.
- doc: if: info about limited nesting.
- doc: end: was not searchable.
- doc: status: infos about limited colors.
- doc: label: more detailed info about global options.
- doc: help opt: -tracechain.
- doc: help chain: info on "no files, stopping x".
Revision 2:
- rel: 03.10.2018, Major Update
- sum: added easy installation under windows
by a double click on sfk.exe, then key 1.
this copies sfk.exe to a folder c:\tools
and creates a shell icon on the desktop.
- add: sfk base: optional installation when running sfk
by double click from windows explorer.
- CHG: Data Change: sfk index, name under windows
no longer use files directly within C:\
but only in a folder C:\zz-index, to avoid
user local storage in a VirtualStore folder.
use sfk name -useold to read old index files.
the new behaviour allows one C:\\ index file for
all users on the same windows machine.
- add: predefined variable: sys.sfkver for sfk version
- add: predefined variable: sys.numcols for number of
columns available in console
- fix: getcol, tabcol: caused unexpected double execution
of following chain commands.
- add: clipsrc: -h help option
- del: clipxml: does not work, no longer documented.
Initial Release:
- rel: 18.09.2018, Major Update
- sum: added sfk addtovar to collect text lines
in a variable, sfk crc to create crc-32 checksums,
sfk difflines to list different unique lines
between two text files. improved ftp client
compatibility. many detail improvements
for scripting, like new variable functions.
- chg: Syntax Change: command chaining no longer allows
data tunneling through non consuming commands.
in a chain like cmd1 +cmd2 +cmd3 +cmd4 +cmd5
it is no longer possible to send data from
cmd1 to cmd3/4/5 if cmd2 uses no chain data
(e.g. if, tell). this tunneling was inconsistent
and caused endless conflicts by unwanted chain data
in cmd3/4/5. use -keepdata or SET SFK_CONFIG=keepdata
for the old behaviour which was inconsistent
and worked only sometimes.
- chg: Syntax Change: sfk if: no longer passes through
any chain data, as this behaviour was ambiguous
and caused endless unwanted chain input.
this means combinations like
+xed /a/b/ +if ... +xed /b/c/
are no longer possible. use '+tif' instead,
or global option -keepdata.
- add: sfk ... +tif for conditional execution
requesting text and stream data explicitely.
- add: sfk ... +tgoto to jump to a label passing
text and stream data explicitely.
- chg: Syntax Change: sfk md5: now only prints the
checksum without filename if only a single
filename is given. use option -name
for the old behaviour.
- chg: Data Change: sfk getvar -line no longer
appends CR or LF at extracted line.
- chg: Data Change: web: no longer produces shell
return code 9 on error, but 1, to be
consistent with command chaining rc.
- FIX: linux: case insensitive pattern match
and text extraction did not work,
esp. with xed or xex.
- CHG: improved scripting: combinations like
sfk echo foo +setvar a=text
sfk echo foo +setvar a +if ... setvar b=text
sfk echo foo +xex ... +setvar b=1
no longer require 'then' in many cases.
- add: Simple Expressions: tag [skip] at the start
of a pattern now skips this text completely
and does not count it as a hit.
- chg: archive file extensions: extended the list
of archive files recognized by -[q]arc by
more office file extensions.
for full details type: sfk help opt
- chg: no longer activating archive file read
implicitely with most functions.
use -[q]arc instead.
- fix: ftpserv, httpserv: unwanted listing of
zip file contents instead of zip file itself.
- add: sfk addtovar, append text as lines to a variable
- add: variables: #(strpos(a,b)) and #(contains(a,b))
now searches content of variable b within
text of variable a.
- add: variables: #(begins(a,'word')) now tells if
text of variable a starts with word.
- chg: scripts: #(rsubstr(s,o,l)) now also supports
offset/length beyond string length,
producing an empty string instead of error.
- fix: scripts: #(substr(a,n)) with n beyond
length of a stopped the script with
"invalid variable expression".
now it evaluates to an empty string.
- add: sfk variables: function #(numlines(a))
to tell number of lines in variable a.
- add: sfk md5var, create md5 hash
from sfk variable content.
- add: sfk difflines, show text lines that differ
between two text files or variables
- add: sfk crc, crcgento, crccheck to create
and verify crc32 checksums (the same as
used in zip files).
- add: sfk list: now sets return code if any
matching files or dirs were found.
- add: sfk web: now sets return code 1 on any error.
- add: sfk sft: now sets return code if any
files were sent.
- add: del[tree] now sets return code on failure
- add: deltree now retries a failed folder deletion
2 times with a 100 msec wait inbetween.
- add: del[tree] option -stoponerr to stop chain
execution if deletion fails
- chg: del[tree] now produces a warning
if deletion is incomplete.
- fix: ftp client: 30 second wait after listing
of directory or file download with some servers.
- fix: run: -printcmd was ignored.
- chg: zip reading: invalid zip file now produces
a warning instead of an error.
- fix: xfind, replace functions, xrename: variables
were not expanded for dir parameters.
- chg: sfk run: now shows a notice if no filenames
are processed on chaining.
- chg: xed, xrename now ignore empty pattern parameters
instead of stopping with an error.
useful for scripting with optional parms.
- chg: command chaining: -verbose now shows a notice
"chaining stops before ...: no data"
if execution stops due to no data.
- chg: command chaining: no longer showing
"chaining stops ...: no filenames"
unless -verbose is given.
- chg: sfk batch out.sh under linux:
added exit after sfk call.
- chg: sfk sft cput: if no files are sent
then -quiet no longer tells anything.
- add: copy -flat2 to copy all files of a dir tree
to an output folder with relative names.
- add: make-random-file -lock option, to keep
a file locked for testing.
- fix: xfind with -justrc: chaining to if
was not possible if nothing was found.
- fix: xfind -showrc produced an error.
- add: ifnotexist, check if a file does not exist.
- add: swap, reverse chain text character order
- add: Windows: sfk clock: pressing enter
now resets the relative time.
- add: Windows: sfk clock3 shows overall start time
and, when pressing Enter, relative time since
overall start in a second column.
- add: sfk clock2 to show just a relative time.
- add: sft client: multi file send: now showing
total mb info.
- add: xed: option -tolines to force line output.
- fix: xed: listing of mem leaks if given filename
cannot be read, or input too large.
- doc: end: xed -tolines reference
- doc: tofile: addtovar reference
- doc: sft: upload loop example.
- doc: index: reworked linux examples.
- doc: xfind: -showrc removed, wrong context.
- doc: filter: difflines reference.
- doc: help opt: new list of archive extensions
and -qarc info
- doc: xed: reference to sfk swap
- doc: sfk help chain: data tunneling notice.
internal:
Revision 4:
- add: pingdiff, ping local net two times.
Revision 3:
- add: SFK_CONFIG support for keepchain
- chg: windows: 32 bit time cleanup
- chg: timetToFileTime 64 bit rework
- add: chaining with sysinfo
- add: index: chaining of output filename
- add: script: chaining of output text
Revision 2:
- add: option -slow for lower prio
- chg: cleanup of call by unified callLabel.
- fix: ftp client: correction of close/readline
sequence in many cases
- add: ftp client: -timeout option
1.9.2
Initial Release:
- rel: 05.07.2018, Major Update
- sum: added sfk move to move files,
getcol and tabcol to easily get a column
from space or tab separated text.
improvements of xed, getvar, scripting.
fixed context cleanup of perline.
- chg: Syntax Change: sfk zip: no longer adds .zip
to output filename if it contains any dot '.'.
this allows to create zip files with any
extension, like .odt or .jar.
use option -zipext for the old behaviour.
- add: checkzip: option -md5 to show md5 checksums
of zip file contents
- add: general option -more to pause output
per page.
- add: xhexfind: option -context=n to show
n bytes of context around results.
- add: sfk for: now supports counting down,
negative start/end values, and optional
step size.
- add: sfk zip: option -rel to strip top level
folder name of filenames within zip.
- add: sfk xed: option -write to rewrite a given
file with changed output.
- fix: sfk if: now supports expression starting
with plus like: if "+a = +a" ...
- fix: perline: context and options were not
fully reset between two lines, e.g.
load files.txt +perline "list #qtext" -yes
produced wrong output.
- add: sfk move: move files between two folders.
- add: sfk mkdir: option -forfile to create dir tree
for a given filename
- add: scripts: #(substr(s,o,l)) now also supports
variable (names) for o and l.
- add: scripts: #(rsubstr(s,o,l)) to get substring
from the right side in left direction.
- add: sfk getcol, tabcol to get one column from
whitespace or tab separated text.
alias of sfk filter.
- add: sfk ping: option -every to ping every n sec.
- add: make-random-file: output folder creation.
- add: sfk times, alias for sfk list -times.
- add: list: now also accepts -times with 's'.
- add: sfk getvar: option -numline=n to get
a line by number.
- add: zip/unzip: option -offtime to support
file times which are one hour off.
- fix: xtext: with -to out\$file it produced error -4
during simulation.
- fix: xtext: -to out\$file no longer writes :file
headers into output files.
- fix: rand: missing range check.
- fix: ifexist file stop -all ... was not possible.
- fix: windows mingw g++ compile.
- chg: sfk if: improved "need a command" error info.
- doc: list: example how to keep only existing
filenames from a list of filenames
- doc: count: example for filter/setvar/count.
- doc: copy: reference to move.
- doc: xtext: how to extract text starting at a line.
- doc: help var: new (r)substr behaviour.
- doc: addcr: example for current folder.
- doc: sfk times example.
- doc: sfk zip: example to unzip/zip an .odt file.
internal:
- add: ping mynet: option -mac for linux
1.9.1
Revision 3:
- rel: 28.05.2018, Minor Update
- sum: sfk copy new option -flat to collect all into
one folder with flat filenames. the sfk book
is now available in print on Amazon.
search "100 command line tools", or "sfk tutorial".
- add: copy: option -flat to copy all files into a
single output dir without sub folders.
- doc: zipto: removed redundant example.
- doc: name: copy -flat example.
- doc: filter: -tolower/upper notice correction.
Revision 2:
- rel: 17.04.2018, Minor Update
- sum: Better support for folder zipping if no sub folder
contents are needed. Added script command ifexist
to check if a file or folder exists.
- fix: sfk zip: created empty subdir entries with -nosub.
- add: sfk ifexist to check if a file or folder exists.
- fix: sfk getvar +tofile produced unwanted empty lines.
- doc: sfk zip: option -nosub
- doc: sfk list: option -nosub
Initial Release:
- rel: 12.04.2018, Major Update
- sum: The Swiss File Knife can now create zip files
and extract zip files, supporting UTF-8 unicode
filenames and 64 bit contents with sizes over 2 gb.
This allows highly flexible file selection with
the full SFK syntax, like selecting all files
changed today, or all files containing a searched
pattern, and to pack them into a .zip directly.
- add: sfk zip, create zip file from folder.
- add: sfk zipto, zip selected file list.
- add: sfk unzip, list or extract zip file.
- add: sfk checkzip, verify zip file content.
- add: sfk run: quick confirm by sfk run. (with a dot)
- chg: sfk getdv unter windows no longer does a direct
download, but shows an info text and then
opens a web browser to download dview.
- add: scripts with -var: #(sys.slash) creates
\ under windows, / under linux.
- add: require: option -nostop to continue chain.
- fix: sfk xfind -names ... +run etc. also
printed the names to terminal.
- fix: rand: when chained with other random generator
commands like make-random-file the seed was
permanently reinitialized, producing redundant
number sequences.
- fix: script: command chaining stopped after md5gento,
make-random-file, snapto, joinlines, bin-to-src,
deblank, color, fixfile, split, join, partcopy,
setbytes, media, rename
- add: ftpserv: better windows 10 ftp client support
by replying to OPTS UTF8 ON.
- chg: sfk num: little endian conversion is now always
done as 32 bits, even with small numbers.
use option -small for old behaviour.
- fix: sfk num: text output chaining did not work.
- add: sfk num: option -show x to print just a single
format instead of all formats.
- chg: hexdump: now supports -off n with chain data.
- doc: xed: [2 chars] explained.
- doc: xed: example to swap char groups.
- doc: run: time measurement example.
internal:
revision 3:
- clp: code cleanup of udpdump.
revision 2:
- add: general option -nosub2 to exclude subfolders
and also hide subfolder names like in: