Name Modified Size InfoDownloads / Week
Parent folder
sfk193.exe 2018-12-08 2.2 MB
sfktray-set-up.exe 2018-12-08 1.8 MB
sfk193-linux.exe 2018-12-08 2.2 MB
sfk193-mac-i686.exe 2018-12-08 2.5 MB
sfk193-linux-lib5.exe 2018-12-08 2.2 MB
sfk193-arm.exe 2018-12-08 3.2 MB
sfk193-mac-ppc.exe 2018-12-08 2.5 MB
sfk193.zip 2018-12-08 9.2 MB
sfk-1.9.3.tar.gz 2018-12-08 1.1 MB
sfk193-mac.dmg 2018-12-08 2.6 MB
sfk193-linux-64.exe 2018-12-08 2.3 MB
sfk193x64.exe 2018-12-08 2.4 MB
readme 2018-12-08 13.4 kB
Totals: 13 Items   34.1 MB 0
Minor Update.
Read the changelist for details.

Zip File Contents:

1. Binaries of Swiss File Knife Base, the multi function command line tool
   for Windows (XP to 10), Intel Linux (current and old releases),
   Apple Macintosh (i686 and PPC) and ARM systems like Raspberry Pi.

2. Sourcecode and build scripts of SFK Base,
   allowing compilation under Windows and Linux.

3. Some documentation, example and test files.

If you are in a hurry and want only a single executable,

-  download any of these files:

   sfk.exe              Swiss File Knife for Windows (32/64 bits).
   sfkx64.exe           SFK x64 for 64 bit Windows only (OSE build).
   sfk-linux.exe        SFK for 32 bits Intel Linux, like Ubuntu.
   sfk-linux-64.exe     SFK for 64 bits Intel Linux, like Ubuntu 64.
   sfk-linux-lib5.exe   SFK for older   Intel Linux, like DSL.
   sfk-mac-i686.exe     SFK for current Intel based Macs.
   sfk-mac-ppc.exe      SFK for older   PowerPC Macs.
   sfk-arm.exe          SFK for ARM systems like Raspberry Pi.
   sfktray-set-up.exe   The SFKTray Status Display Tool for Windows,
                        Freeware edition, for use with sfk status.

you may use

1) automatic setup (Windows only):

-  double click on the downloaded sfk.exe.
   on Windows 10 you may have to confirm
   a security dialogue to let it start.

-  a command line window opens.
   press 1, then enter to close.
   
-  search the new "sfk shell" desktop icon.
   double click to open a command line
   which contains the sfk command.

or

2) manual setup:

-  open a terminal or command line window (CMD.EXE).

-  cd into your download folder.

-  Windows: rename the .exe to sfk.exe,
   copy it to an easy folder like C:\tools.
   extend the command search path by:
      SET PATH=%PATH%;C:\tools
   now you can use the 'sfk' command.

-  Linux/Mac: rename the .exe to just "sfk" like:
      mv sfk-mac-i686.exe sfk
   then make it executable by:
      chmod +x sfk
   and finally type:
      ./sfk

if you have no unzip tool, or in a wrong version,
you may download unzip for the command line from
http://stahlworks.com/dev/index.php?tool=zipunzip

------------------------------------------------------------------

the files are no longer replaced on updates, 
and can be safely linked by package managers.

old folders from which no files are ever downloaded
may be cleaned up after a while.

------------------------------------------------------------------

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.
Source: readme, updated 2018-12-08