First of all I give an overview of what the software shall do or: What is the motivation? Here's a use case:

Use case <File compression software>
On our network we have plenty of machines with folders with hundreds of files. Because it is difficult to handle all those files (searching, archiving...) we need a software, that compresses specific file types into different zip archives. The software should be able to distinguish the different types (*.*, *.xyz , *.abc). It also should be able to create different archives that contain all files from the last hour, the last day, the last week, month or year.
Depending on the time span, it should be able to add the zip file name parts of the time span it covers, e.g. 2011-10 for all files within october 2011; there should be something like a naming rule for the zip file name.
As an option, the software should delete the added files and should, or should not, update archived files with newer versions.
The software should be able to monitor multiple sources, also on the network. The monitoring interval should depend on the time span to surveil or it should run once or permanently surveil the source folder.
At the moment, a user interface (UI) is not needed - maybe later.
OK. That's what the client want's to have. Now let's see what I, the developer, will do next. As actually I'm the only one who's working on the project :-( , I'm also the project manager, the software designer and tester and so on... what, in real life, is not good. To clarify things, I describe the usage of RoboZip. I'll do this in the manner I found it for RoboCopy, this seems to ba a good point to continue.
RoboZip - Robust file zipping for windows
Usage: RoboZip source destination [file [file]...] [options]
source: Source Directory (drive:\path or \\server\share\path).
destination: Destination Dir (drive:\path or \\server\share\path).
file: File(s) to zip (names/wildcards: default is ".").

/MP:period of time
Which period of time to monitor, only on switch is possible:
n : last minute
h : last hour
d : last day
w : last week
m : last month
y : last year
a : all time span till now (default)
Depending on the choosen period of time in the past the name of the zip file may contain fragments of date and time, e. g.:
A zip file containing the files of the last day (default) must be named like, because there may be an other file for the following day For a variation of the zip file name see switch /FNP.

/START:timestamp: Timestamp to start the zip process (yyyy-mm-dd hh:nn:ss).
If not used, the start depends on the next period of time choosen. For "last day" the RoboZip will start at the very beginning of the following period, the actual day.
If used, the process will start after the timestamp has elapsed and the choosen period is over and then run always at the same time.
Example 1: /MP:n /START:2011-07-25 02:30:30 will start at the give time and then repeat the job always at x minutes and 30 seconds.
Example 2: /MP:d /START:2011-12-13 01:30:00 will start at the give time and then repeat the job always at 1:30 am.

/FNP:String: File name Pattern. Use this pattern to adapt the generated file name to your needs. E. g.: "...'yyyy'...'mm'...'ww'...'dd'...'hh'...'nn'"
where "..." are allowed characters for file names and characters in quotes are used as follows:
'yyyy' or 'yy' : year
'mm' : month
'ww' : calendar week
'dd' : day
'hh' : hour
'nn' : minute

/DS: Delete Source files successfully added to the zip file.

/UD: Update Destination files in zip archive.

/JOB:jobname: Take parameters from the named JOB file.

/SAVE:jobname: SAVE parameters to the named job file

The Architecture page shows a very abstract view onto the project.

Last edited Nov 4, 2011 at 9:05 PM by Schmecks, version 15


No comments yet.