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 Windows 8), 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.
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.
- do NOT double click on the downloaded .exe,
but open a terminal or command line window (CMD.EXE).
- cd into your download folder.
- 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:
- Windows: rename the .exe to sfk.exe then type "sfk"
if you have no unzip tool, or in a wrong version,
you may download unzip for the command line from
- rel: 19.10.2016, Minor Update
- sum: improved scripting with sfk if.
improved sfk count.
- chg: sfk batch, sfk samp sfkbat with windows:
now using %~f0 instead of %0 to insert the
full absolute batch name including extensions.
this allows to type "mycmd" instead of
"mycmd.bat" to run a script.
- add: sfk count: direct file reading support.
- fix: sfk if: now also accepts expressions starting
like an option, like "-yes = -yes".
- add: sfk tail: option -nowait to avoid blocking
in a command chain using +loop.
- fix: progress info output after wget even with -quiet=2.
- fix: sfk web: error message "wrong date/time" because
web server uses a different locale than client.
now there is only a notice if -verbose is used.
- doc: sfk goto: infos about broken chain data flow.
- doc: sfk batch: improved template batch with
help text display on empty parameters.
- doc: wget info on -quiet=2.
- fix: sfk call, perline: error "missing or wrong script
parameter" with empty parameters.
- fix: sfk run and other: empty parameter before dir
parameter list produced errors.
- doc: info about no variable support with -bylist.
- ADD: sfk if with generic comparison of parameters,
variables, strings and numbers.
- CHG: sfk script: empty parameters and variables
which are not surrounded by quotes are now removed.
- add: sfk (x)hexfind, (x)replace, extract:
option -fullheader to show offset/length infos
of found hits both with decimal and hexadecimal.
- add: sfk goto, jump to a local label.
- add: sfk label: option -var to enable variable use
for all following commands.
- fix: xhexfind: results >= 4048 bytes were not printed.
- add: xhexfind: option -maxdump=n to show only n bytes.
- fix: call mylabel called mylabel2 if present.
- fix: sfk update: did not detect new version
if 1.8.1 is compared with 18.104.22.168
- fix: command chaining: when using short file selection
in a command then using long file selection in
following commands produced an error sometimes.
- doc: sfk web: script example for access with
connection error handling.
- doc: sfk label: info about global options.
- doc: sfk script: info about -var after label.
- rel: 29.09.2016, Major Update
- sum: added support for sfk variables, allowing to store data
from a command and to reuse it in other commands.
massive improved scripting.
- ADD: sfk variables. type "sfk help var" for infos.
allows to store data produced by one command,
and to reuse it in another command like #(name)
- ADD: sfk perline, run sfk commands per text input line.
similar to sfk run, but without starting an
external program, and with full access
to sfk variables produced by previous commands.
- CHG: Syntax Change: sfk call, if: no longer clears
chain text after command. call will now flush
chain text before entering the label.
- CHG: Syntax Change: sfk echo ... +call +xex
no longer passes text of echo as chain data
through to xex. use tcall for that.
- CHG: Syntax Change: sfk gettext output changed with
text produced by storetext -append. more below.
- add: sfk samp http, create an example script
for web access automation.
- add: sfk xed, xex, xreplace, simple expressions:
[setvar name]...[endvar] to set an sfk variable,
[getvar name] to fill in data from an sfk variable.
- add: sfk xed, simple expressions: keyword [ortext]
to search literals OR combined. can only be used
- add: sfk xed, simple expressions: keyword [keep]
to search text that should be kept in input,
without consume or replace.
- add: sfk echo -lines to print every string as one line.
- add: sfk xed: option -firsthit to use only first matching result.
- add: sfk filter: option -line=n to read nth line from input.
- add: sfk web: option -showreq, similar to -status.
- add: sfk find: option -head=n to read only n lines.
- add: sfk batch, alias of sfk samp sfkbat.
may also create .sh files under windows.
- add: sfk xf, alias for xmlform.
- fix: command chaining: unexpected drop of data when
chaining to echo, fromclip, var, gettext, getvar.
e.g. sfk echo foo +echo bar +tofile out.txt
dropped "foo", now it is printed.
- add: command chaining: +tcall to consume text data
and +tend to return text data.
- fix: sfk script -from begin: if script contained
a label begin2 this was called.
- chg: sfk xex, xed: improved help examples, separate
examples for xex and xed.
- chg: sfk samp sfkbat, sfkbash now use %0 or $0
instead of the script filename.
- chg: Simple Expressions: now support zero length tokens
like in "/[start][0 chars][1 char]/"
- chg: sfk samp: path now allowed in output file
with some language types.
- add: sfk xex, xed: option -justrc to just set return code
without printing any output.
- add: sfk ... +tovoid to drop current chain text.
- add: sfk stop: optional text to print, info on rc 9
to stop a script from within call.
dump of chain text on rc >= 9.
- add: sfk call: improved help text.
- FIX: sfk script, call: missing parameters produced errors
or even crashed. now these are just empty.
- fix: sfk ... +run was blocked with http:// url's.
- fix: sfk web -status=... +xex didn't work.
- fix: sfk echo: quoted multi line parms output
contained unwanted CR characters and trailing
- fix: sfk web: always produced rc 9.
- fix: run -stoprc: did not work in a script.
- fix: script: +if ... stop -all didn't work,
as "if" misinterpreted options.
- fix: script: +stop no longer requires +then stop.
- fix: gettext: missing linefeeds on terminal output
after multiple storetext -append. workarounds
appending with "\n" must be changed.
- fix: sfk version -own +filter didn't work.
- fix: expression part info didn't show # chars.
- chg: sfk samp sfkbat, sfkbash new templates.
- add: sfk knxsend: support for alternative IP group,
send of search request.
- add: sfk knxdump: option -verbose to print search
- doc: extended echo help.
- doc: reworked help for sfk script.
- doc: help text for sfk then.