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

Supersonic Text File Search - Free Download

winmerge is an excellent, free diff- and merge tool with a comfortable GUI,
and best of all, the tool also provides a zero-install executable, perfect for use straight from usb sticks.
download winmerge from sourceforge here.
  • click on the Downloads link
  • then click on Binaries (not Installer)
  • download and extract the zip
  • and copy the WinMerge.exe you find therein somewhere in your PATH.
that's it! now, to compare two files instantly, type for example
   winmerge source1.cpp source2.cpp

of course, copying just the single .exe means leaving out some features provided by plugins and filters - but so far I use only source code comparison (.cpp, .java) and for that the single .exe is sufficient.

comparing directory tree differences

winmerge is great for comparing two files, but when i try to compare whole directories this way:

   winmerge docs-old docs
i do get some overview:

but to really find out, for example, that FooBank\DB\source\DBController.cpp is different, I have to invest at least three double mouseclicks. multiply this by all other files which may have differences, this clicking-around is a major waste of time - a problem common to most GUI based programs.

so let's get back to the command line, and do it fast, using the sfk run command:

   sfk run "winmerge $since $file" -sincedif docs-old docs

   [simulating:]
   winmerge docs-old\FooBank\DB\source\DBController.cpp docs\...\DBController.cpp
   winmerge docs-old\FooBank\GUI\include\FooGUI.hpp docs\...\FooGUI.hpp
   [add -yes to execute.]
as we see, there are two different files over the whole directory tree. (option -sincedif lists only different files, not added files.) if we add option "-yes" to above command, the previed winmerge commands are executed:
   sfk run "winmerge $since $file" -sincedif docs-old docs -yes
running winmerge instantly on the first different file:

when you're done reviewing these changes, close winmerge by a click at the right top, and the next different file will show up instantly.

further reading: another way of getting a fast overview of text file differences, using the cygwin "diff" command, can be found here.