How to do things
AI Noob vs. Pro

List biggest files
List newest files
Show subdir sizes
Search in files
Replace word in files
List dir differences
Send files in LAN

Free Open Source:

Swiss File Knife

a command line
multi function tool.

remove tabs
list dir sizes
find text
filter lines
find in path
collect text
instant ftp or
http server
file transfer
send text
patch text
patch binary
run own cmd
convert crlf
dup file find
md5 lists
fromto clip
split files
list latest
compare dirs
save typing
trace http
echo colors
head & tail
find classes
dep. listing
speed shell
zip search
zip dir list

Depeche View
Source Research
First Steps

windows GUI

the d3caster
java game engine

command line
file encryption

free external tools,
zero install effort,
usb stick compliant:

zip and unzip
diff and merge
reformat xml
reformat source

java sources

thread creation

cpp sources

log tracing
mem tracing
using printf


stat. c array
stat. java array
var. c array
var. java array
view all text
as you type
surf over text
find by click
quick copy
multi view
find nearby
find by path
location jump
skip accents
clip match
filter lines
edit text
load filter
hotkey list
receive text
send in C++
send in Java
smooth scroll
touch scroll
fly wxWidgets
fly over Qt
search Java


Create Zip files on the command line

very easy and flexible.
Include/exclude sub folders and file names, or zip just files changed today,
with the free Open Source tool Swiss File Knife for Windows, Mac OS and Linux.
- download the free Swiss File Knife Base from Sourceforge.
- open the Windows CMD command line, Mac OS X Terminal or Linux shell.
- OS X : type mv sfk-mac-64.exe sfk and chmod +x sfk then ./sfk
- Linux: type mv sfk-linux-64.exe sfk    and chmod +x sfk then ./sfk
  OS X and Linux syntax may differ, check the help within the tool.
sfk zip out[.zip] [opt] mydir [file1 file2 ...]
sfk zip out[.zip] [opt] -dir mydir -file file1 file2

add files and folders to a .zip file.

About filename encoding

if filenames contain special chars like umlauts
or accents the following applies:

- under windows, sfk zip stores filenames

  1. in the OEM codepage of your system,
     to support old extraction tools.

  2. and as UTF-8, in the zip format 0x7075 extension
     which will be used by up-to-date programs.

- under linux, sfk stores only one name, which is
  marked as UTF-8, if such encoding is detected.
  on any other encoding, like accent chars on old file
  systems, sfk zip stores characters as is, and later
  extraction may produce wrong names.

- UTF-8 name extensions are supported only by up-to-
  date zip extraction tools, like 7zip, Windows 10
  File Explorer, or sfk unzip.

- names with accent chars exchanged between Mac and
  Non-Mac systems may look wrong due to Decomposed
  Unicode used in Mac OS/X.

if you extract files at the receiver, then open
windows explorer and see unexpected filename
characters, this means the receiver's unzip tool
is old and does not understand UTF-8 extensions.

- if you just see wrong accent characters
  it means the receiver system uses a different
  OEM codepage then the sender (sfk sysinfo).

- if you see #Uxxxx it means filenames contain
  complex unicode chars, like asian or cyrillic.
  you can google for U+xxxx to see what character
  is actually meant.

No update of existing content
  if the output zip file already exists
  then only new files which are not already
  contained can be added. sfk cannot update
  contents and times within existing zip files.

  sfk zip may fail to compare added filenames
  to existing names in a zip if name encodings
  are mixed or unclear, esp. on linux/mac.

64 bit zip file support
  if contents are larger then 2 gb, sfk zip
  will create a 64 bit zip file automatically.
  not every unzip tool may be able to read this.
  SFK XE cannot read zip file contents over 2 gb.

  -nosub    do not include sub folders.
  -force    overwrite existing zip file.
  -zipext   add .zip to output filename even
            if it already has an extension.
  -asdir x  create a new folder x within the zip
            and add all files into that folder.
            cannot add to an existing folder.
  -rel[names]  strip top level folder from
            filenames within the zip.
  -big      show a summary of largest files.
  -big=n    show a summary of n largest files.
  -old=n    show a summary of n oldest  files.
  -nosum    show no summary.
  -text     include only ascii text files
            but no binary files.
  -nometa   do not add the os/code comment,
            or set SFK_CONFIG=nozipmeta
  -setexec  mask1 mask2 !mask3 ...
            mark files as executable with
            linux/mac operating systems.
            must be followed by -dir ...
  -offtime  store file times which are
            one hour off, depending on DST.
            for details see: sfk help offtime

output filename rendering
  if output filename does not contain '.'
  then '.zip' is added. use -zipext to add
  whenever if it does not contain .zip

output chaining
  sfk zip supports text output chaining,
  to pass filenames for filtered display.

see also
  sfk zipuni  use just UTF-8 filenames,
              to support old linux tools.
  sfk unzip   extract a zip file.
  sfk zipto   zip files selected by a
              previous command.

sfk zip is very flexible and easy to use,
but if you need special features like
direct zip file updating you may consider
further zipping tools. find an overview on:

  sfk zip out mydir !.bak
    add all contents of mydir into,
    except for .bak files, using the short
    file selection syntax.

  sfk zip out -dir foo bar -file !.bak
    add all contents of folder foo and folder
    bar into, except for .bak files,
    using the long file selection syntax.

  sfk zip out -dir mydir -subdir !save !\tmp
   -file !.bak !old
    add all of mydir into, except for
    sub folders having 'save' in their name or
    starting with 'tmp', and except for files
    with .bak extension or 'old' in their name.

  sfk select mydir .png +zipto out
    add all .png images of mydir to

  sfk zip out mydir .png
    same as above, in one step.

  sfk zip out -since 3d mydir
    add files changed in the last three days.

  sfk zip -flist mylist.txt
    read a list of filenames from mylist.txt
    and add these files to

  sfk list -late=5 mydir +zipto out -force
    write the 5 newest files to,
    overwriting an existing

  sfk zip out -setexec /conf/ .sh -dir mydir
    zip mydir, mark files named exactly conf,
    or being in a folder conf, or having .sh
    in their name as executable on linux.

  sfk unzip -todir tmpdoc in.odt
  sfk zip -rel out.odt tmpdoc
    extract an openoffice writer document
    into a folder tmpdoc, then repack it to
    out.odt, without the tmpdoc folder name.

  sfk sel -sincedir proj1 proj2 +zipto out
    if proj2 is a newer copy of proj1,
    collect all files added or changed
    since proj1 into

  sfk zip out mydir +filter -!test
    pack mydir to, but do not print
    any names with "test" to terminal.

sfk is a free open-source tool, running instantly without installation efforts. no DLL's,
no registry changes - just get sfk.exe from the zip package and use it (binaries for
windows, linux and mac are included).

read more about all sfk functions here.

Download the free Depeche View Lite Text Search Tool