Swiss File Knife is a supercharged command line tool which crams around 100 functions into a single executable.

The program can search for files by content, or name. It's able to list the contents of directories, create or delete directory trees. And you get a lengthy list of text and file processing options: LF <> CRLF, tab <> space, hex <> binary, hex <> dec, insert string, replace string, sort string, split file, join file, more.

This would be useful in itself, but Swiss File Knife does a whole lot more. The program also includes commands to synchronise a folder tree, find duplicate files, cut video and binary files, create MD5 hashes, send UDP or HTTP requests, download HTTP files, even run instant FTP and HTTP servers.

Most of these commands deliver far more than you'd expect. The List command doesn't just list files in a directory tree, for example: it also supports a host of archive formats. And it's enormously flexible, with more than 35 switches, which can themselves be combined in many different ways, and have their output passed on to other Swiss File Knife commands.

There's also plenty of scripting support, with tools to get user input, run sequences of Swiss File Knife commands, run commands on every file in a folder, run commands in a loop, and more.

Perhaps most surprising of all, though, Swiss File Knife isn't too difficult to learn. There's a lot to explore, but the syntax of each command is relatively straightforward. When listing files, for example, there's no "-n -l -p" garbage: instead you'll use switches like -time, -hidden, -sort, -minsize, -maxsize and so on. You can probably guess what they do already. And if you can't, a truly excellent PowerShell-like local Help system explains all.

1.9.4.0 brings:

- CHG: Syntax Change: xfind now only searches in plain text files, but not in binaries. use xfindbin to search also binary files.

- CHG: Syntax Change: find now only searches in plain text files, but not in binaries. use findbin to search also binary files.

- add: ofind, search text in office files like .docx .xlsx .ods .odt and plain text files.

- add: ofilter, filter text of an office file.

- add: oload, load text of an office file for display or further processing.

- add: sfk help office, for details about supported office file extensions.

- add: sfk alias, mkcd: support for SFK_PATH environment variable, to write batch files only into this folder.

- chg: sfk getdv: now also suggests to save to SFK_PATH if given.

- add: echo: option -stream for best output transfer to setvar or xed.

- dep: xtext is deprecated (redundant to xfind)

- dep: ftext is deprecated (redundant to find)

- fix: zipto: crash on sub folder names containing accent characters, especially on select ... +zipto.

- chg: sfk data: max content per symbol is now 8 kbytes instead of 1.

- fix: xed: sfk ... +xed without any patterns created unwanted color output.

Verdict ratingsratingsratingsratingsratings

An amazing collection of powerful command line tools. Use some individually, string others together in scripts, it's your call. If you make even occasional use of the command line, then go grab a copy of Swiss File Knife right now.