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
hexdump
split files
list latest
compare dirs
save typing
trace http
echo colors
head & tail
dep. listing
find classes
speed shell
zip search
zip dir list

Depeche View
Source Research
First Steps

windows GUI
automation

command line
file encryption

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

zip and unzip
diff and merge
reformat xml
reformat source

cpp sources

log tracing
mem tracing
hexdump
using printf

articles

embedded
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
fullscreen
bookmarks
find by path
expressions
location jump
skip accents
clip match
filter lines
edit text
highlight
load filter
hotkey list
receive text
send in C++
send in Java
smooth scroll
touch scroll
fly wxWidgets
fly over Qt
search Java

Find out which files are used (referenced) by other files through fuzzy content analysis, with the free sfk reflist command for the Windows, Mac OS X, Linux, Raspberry Pi command shell.
  • 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 reflist [-path] [-wide] -dir sdir -file .text -dir tdir -file .sext
sfk reflist -dir sourcedir -dir targetdir1 [targetdir2 targetdir3] [...]

list possible dependencies between files through (fuzzy) content analysis.
find out which target files are referenced by any of the source files.

a list of target files is created from directory targdir. then all source
files are loaded from srcdir, and scanned if the names of the targets appear
within their content. if so, the targets are listed, with the number of
referring source files, and a list (of the first 10) of these files.

NOTE that sfk reflist DOES NOT GUARANTEE that files are (not) referenced.
This way of reference detection is just a FUZZY INDICATOR, so keep thinking
and make backups before you massively cleanup files without references!

NOTE: you may specify any number of target directories. if your list of
target directories is incomplete, files from there will NOT be found.

by default, only relative target filenames are searched, without path,
but including the file name extension.

                e.g. the target file: the/path/foosys.dll
                   runs a search for: foosys.dll
                 in the source files.

options
   -path        search target filenames including path information.
                e.g. the target file: the/path/foosys.dll
                   runs a search for: the/path/foosys.dll
   -noext       strip .extensions from filenames, compare only basename.
                e.g. the target file: the/path/foosys.dll
                   runs a search for: foosys
                which may lead to ambiguities, listing too many hits.
                -noext can also be combined with -path.
   -wide[=n]    list references in an extended format, with a list of
                (up to to n) source files per target file, telling in
                detail which text patterns were found.
   -case        force case sensitive string comparison (not default).
   -quiet       do not print the number of source and target files.
   -relnames    if using -path, strip targdir name from target paths
                for comparison.
   -flat        do not check if target files depend on other target files.
                set this to improve speed, if you know that such
                dependencies cannot exist, e.g. if the targets are .wav files.
   -memlimit=n  load and analyze only files with a size up to n mbytes.
                the default load limit is 300 mbytes.

see also
   sfk deplist  list file dependencies.

web reference
   http://stahlworks.com/sfk-reflist

examples
   sfk reflist -dir mysrcdir mytargdir
      check every file in mytargdir if it is referenced
      by any file within mysrcdir.

   sfk reflist -dir movie -file .ppt -dir pic -file .png
      find out which .png files within pic are referenced
      by .ppt files within movie.

   sfk reflist -wide=100 -dir bin -file .exe -dir bin -file .dll
      find out which .dlls are directly referenced by .exe files
      within directory bin, listing up to 100 references per target.

   sfk reflist -dir . -file .flp -dir . -file .wav
      within a FruityLoops project directory lists which .wav files
      are referenced by which .flp project files of that directory.

   sfk reflist -dir film -file .ppj -dir audio frames clips
      tell which audio, image and movie clip files (e.g. .wav .bmp .avi)
      are used by which Adobe Premiere project files (.ppj) within the
      film directory. if image sequences are used, only the first image
      of such sequences will be found, e.g. foobar00001.bmp
 
sfk reflist [-path] [-wide] -dir sdir 
   -file .text -dir tdir -file .sext
sfk reflist -dir sourcedir -dir targetdir1 
                             [targetdir2
                             targetdir3] [..
                             .]

list possible dependencies between files 
through (fuzzy) content analysis. find out
which target files are referenced by any of
the source files.

a list of target files is created from 
directory targdir. then all source files
are loaded from srcdir, and scanned if the
names of the targets appear within their
content. if so, the targets are listed,
with the number of referring source files,
and a list (of the first 10) of these files.

NOTE that sfk reflist DOES NOT GUARANTEE 
that files are (not) referenced. This way
of reference detection is just a FUZZY
INDICATOR, so keep thinking and make
backups before you massively cleanup files
without references!

NOTE: you may specify any number of target 
      directories. if your list of
target directories is incomplete, files 
from there will NOT be found.

by default, only relative target filenames 
are searched, without path, but including
the file name extension.

                e.g. the target file: 
                the/path/foosys.dll
                   runs a search for: 
                   foosys.dll
                 in the source files.

options
   -path        search target filenames 
                including path information.
                e.g. the target file: the/
                path/foosys.dll
                   runs a search for: 
                   the/path/foosys.dll
   -noext       strip .extensions from 
                filenames, compare only
                basename. e.g. the target
                file: the/path/foosys.dll
                   runs a search for: 
                   foosys
                which may lead to 
                ambiguities, listing too
                many hits. -noext can also
                be combined with -path.
   -wide[=n]    list references in an 
                extended format, with a
                list of (up to to n) source
                files per target file,
                telling in detail which
                text patterns were found.
   -case        force case sensitive string 
                comparison (not default).
   -quiet       do not print the number of 
                source and target files.
   -relnames    if using -path, strip 
                targdir name from target
                paths for comparison.
   -flat        do not check if target 
                files depend on other
                target files. set this to
                improve speed, if you know
                that such dependencies
                cannot exist, e.g. if the
                targets are .wav files.
   -memlimit=n  load and analyze only files 
                with a size up to n mbytes.
                the default load limit is
                300 mbytes.

see also
   sfk deplist  list file dependencies.

web reference
   http://stahlworks.com/sfk-reflist

examples sfk reflist -dir mysrcdir mytargdir check every file in mytargdir if it is referenced by any file within mysrcdir. sfk reflist -dir movie -file .ppt -dir pic -file .png find out which .png files within pic are referenced by .ppt files within movie. sfk reflist -wide=100 -dir bin -file .exe -dir bin -file .dll find out which .dlls are directly referenced by .exe files within directory bin, listing up to 100 references per target. sfk reflist -dir . -file .flp -dir . -file .wav within a FruityLoops project directory lists which .wav files are referenced by which .flp project files of that directory. sfk reflist -dir film -file .ppj -dir audio frames clips tell which audio, image and movie clip files (e.g. .wav .bmp .avi) are used by which Adobe Premiere project files (.ppj) within the film directory. if image sequences are used, only the first image of such sequences will be found, e.g. foobar00001.bmp

you are viewing this page in mobile portrait mode with a limited layout. turn your device right, use a desktop browser or buy the sfk e-book for improved reading.

 
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).

 

the Endless Image 🍣 Sushi