An Interactive File Renamer

quokka: An Interactive File Renamer

quokka is an interactive file renamer, which helps to rename multiple files in a systematic manner. It provides a set of rules, for example, changing extensions, inserting a string into file names, replacing a certain sequence with a new one and so on. You can combine these rules as you want by adding them into the rule chain. Editing each rule and the rule chain is performed interactively as you do in a shell prompt. The following, for example, shows how to rename files' extensions to '.node' using quokka:

> #extension
entering `extension'

#extension> change to node
file extensions will change to `node'

#extension> preview
files will be renamed as follows when you type `done' and `rename'
./global.js    | ./global.node
./mycolors.js  | ./mycolors.node
./validator.js | ./validator.node
./wcwidth.js   | ./wcwidth.node

#extension> done
files will be renamed as follows when you type `rename'
./global.js    | ./global.node
./mycolors.js  | ./mycolors.node
./validator.js | ./validator.node
./wcwidth.js   | ./wcwidth.node

> rename
files are being renamed
./global.js    | ./global.node    [ok]
./mycolors.js  | ./mycolors.node  [ok]
./validator.js | ./validator.node [ok]
./wcwidth.js   | ./wcwidth.node   [ok]

4 files successfully renamed
you need to `reset' file list and rules after `rename'

> exit

where the '>' indicates a quokka's prompt and '#extension' before it does the user is editing the '#extension' rule. Typing 'help' shows what commands quokka accepts in general and in a specific rule mode. (In fact, quokka displays characters in color for readability; see http://code.woong.org/quokka/img/sc.png for screenshots.)

Even if its source code contains some stuff realted to MS Windows, it currently supports and is tested only for UNIX-like environments. For now, nothing was guranteed for MS Windows.

For the copyright issues, see the accompanying LICENSE file.

Among libraries used, alphanum.js has been modified to meet quokka's needs; it has been modified to behave in a more similar way to 'ls -v' and to return the sorted array instead of nothing. If you need to replace that module with, say, a updated one, it is necessary to apply these changes properly.

If you have a question or suggestion, do not hesitate to contact me via email woong.jun@gmail.com or web http://code.woong.org/