Taches 
version francaise

With Taches, shedule yourself tasks, messages and programs to be run when Windows starts.

Managing programs started when you start your computer is doing what Windows can not do, specifically:
-control the order in which they launch,
-control their frequency of execution (they are not all obliged to run at each start),
-if necessary, give the user the choice to launch them or not,
-wait for the end of the execution of a program before launching another one or, on the contrary, launch one without waiting for the previous one to be finished.
In short, it's really all master of these Windows session start programs. That's what Taches does.

There are probably several tasks that you have to perform regularly on your computer, such as backing up, cleaning your disk, or scan it for malwares. For example, you may have decided to start a backup program every three days, but without taking into account the days when the computer was stopped - and that's what changes everything - because you went on weekend or vacation. Indeed, there was nothing to save those days. How to do this thing automatically with your computer?

The Windows Task Scheduler does not allow it. I do not believe that any existing software is capable of it. That's why I wrote Taches, a small portable freeware, simple and yet powerful, which allows:
-to launch a program, a command, or to display a message,
-to launch a program, an order, or to display a message, every n days,
-to launch a program, a command, or to display a message, every n days without counting the days when Windows was not started.

For example, suppose that you want to make a backup every three days of actual work on the computer. You make one on a Thursday. You work the next day, Friday. Then you go on a weekend. You do not start your computer on Saturday or Sunday. You use it again on Monday. Tuesday, it will be three days worked since the last backup: Friday, Monday, and Tuesday. You should make a backup on Tuesday. Taches will take care of counting the number of days you start the computer, and start the right action when the desired number of days is reached.

Another example: you clean your drive every ten days. One day, you go on vacation just after doing it. When you come back from your holidays, certainly deserved, must the disk be cleaned? No, of course, because everything happens as if, for the computer, you had done it the day before. It will have to be done nine days later. In this case, Taches will be able to launch the cleaner for you in nine days.

These different actions are described in a text file, named Taches.txt, which is in the same folder as Taches.exe. With a text editor, like Windows Notepad, notepad.exe, you can add as many actions as you want, putting one action per line, and respecting the correct syntax (see the example). Lines beginning with ' are comments and are ignored by Taches.

The benefits of Taches are:

-Planning of repetitive tasks to be done every n days.
-Small, without installation.
-Do not install service. It runs then goes out or goes to sleep, so it does not occupy the system permanently.
-The tasks are easy to configure. A simple text editor is enough.
-The tasks are executed one after the other. A task is started immediately or when the previous task is completed, as desired.
-Runs silently, just starting the tasks or displaying the requested messages.
-But, in case of syntax error, it signals the line number where the error is.
-Can be used to launch several programs in a certain order, just by running it once. This is done by creating a new copy of the Taches folder, and editing a simple text file.
-You can use absolute or relative paths. This allows the program to run correctly with portable devices, when the drive letter can change.
-You can play sounds.

Taches runs silently and tests each line to see whether to launch it or not.

Taches.txt file:

This file, contained in the Taches.exe folder, is a text file that is read line by line by Taches.exe.
Each line is interpreted differently according to its first character:

An apostrophe ': line of comment. It is ignored.
a, b, c, d, e, f, g, h, A, B, C, D, E, F, G, GA, H, I, ic, df, dl, hf, p, z : an action defined by the parameters that follow.

To show the icon of the program in the taskbar:
-add a line with ic. Only this two letters. That's all.

To show a progress bar during execution of Taches.txt:
-add a line with: df | x | y (x and y are coordinates relative to the upper left corner of the screen).
-to hide this bar, add a line with: hf.

Various ways to display a message:
-Display a message: c | message
-Display a message every n calendar days: d | LastExecutionDate | n | message
-Display a message every n days of use of the pc: a | LastExecutionDate | i | n | message
-Display a message once a year from a date: b | LastExecutionDate | jj/mm | message
-Display a message once a year but only at a given date of the year. The message will not be displayed if the pc is not turned on the day of that date. : e | LastExecutionDate | jj/mm | message
-Show a message only on even days: f | LastExecutionDate | message
-Show a message only on odd days: g | LastExecutionDate | message
-Display a message once at the beginning of Taches: h | message
-Display a message once a day from a given time: i | HH:MM | LastExecutionDate | message
-Show a message once a given day of the week: j | Day | LastExecutionDate | message
Day must be written in full and can be Monday, Tuesday, ..., or Sunday.
-Display a message once a month from a given day of the month: k | Day | LastExecutionDate | message
Day is 1, 2, 3, ... 28, 29, 30 or 31.
Be careful, displaying a message blocks the execution of the following tasks until the user clicks a button in the message box.

To run a command or a program:
-Run a command: C | A or S | message | folder | command
The command is executed every time Taches.txt is run if a line specifies a z pause with a strictly positive value.
The message, if any, is displayed before the command is run. The user can only confirm it.
-Run a command every n calendar days: D | A or S | LastExecutionDate | n | message | folder | command
-Run a command every n days of use of the pc: A | A or S | LastExecutionDate | i | n | message | folder | command
-Run a command once a year from a date: B | A or S | LastExecutionDate | jj/mm | message | folder | command
-Run a command only at a given date of the year: E | A or S | LastExecutionDate | jj/mm | message | folder | command
-Run a command once at the beginning of the execution: H | A or S | message | folder | command
H is interesting if you put a line z | duration with a non-zero duration because, while with C the command is started regularly during each scan of Taches.txt, with H it is only once.
-Run a command once a day from a given time: I | A or S | HH:MM | LastExecutionDate | message | folder | command
I suppose the use of z | duration with a duration close to one minute (60000 ms), because line I will not be processed when Taches is asleep, between two scans of Taches.txt. The command will be run during the examination of Taches.txt immediately following the passage of the time of Windows to the value specified in line I.
-Run a command once a given day of the week: J | A or S | Day | message | LastExecutionDate | folder | command
Day must be written in full, and can be Monday, Tuesday, ..., or Sunday.
-Run a command once a month from a given day of the month: K | A or S | Day | message | LastExecutionDate | folder | command
Day could be 1, 2, 3, ... 28, 29, 30 or 31.

How to link the run of a program or command to the run of another program or command:
-Start an order if the previous command was not run: GA | A or S | message | folder | command
-Start an order only if the previous command was not run, and at most once a day: G | A or S | LastExecutionDate | message | folder | command
The difference with GA is that with G the command will never be running more than once in a day.
-Run a command if a file exists: LA | A or S | filename | folder | command
-Run a command if a file does not exists: LB | A or S | filename | folder | command
With LA and LB, the path of the filename can be absolute or relative to the Taches folder.

To link the display of a message and the run of a program or command:
-Display a message then run an order if the user is ok: F | A or S | LastExecutionDate | i | n | message | folder | command
With F, unlike A, B, C, ..., which can also display a message, the user has the choice between validating, to run the command, or cancel, not to run it.

Change the length of time to wait after launching a program:
By default, Taches waits two seconds after launching a program before moving to the next line. To change this value, add a line like : dl | duration
And type a positive or zero numeric value in place of duration. The unit is the millisecond.

To play a wav sound:
-play a wavfile if the previous command was run: la | yourpath\music.wav
-play a wavfile once at the beginning of the execution: lb | yourpath\music.wav
You can use a relative or an absolute path.

Take a break, stay or not in memory, review the tasks periodically:
-Take a break whose duration is given in seconds, then move on: p | duration
-Exit Taches after reading Taches.txt: z | 0.
-Periodically restart a scan of Taches.txt after a delay in seconds: z | delay. Example: z | 14400 will sleep Taches for four hours.
If you show the icon of the program with ic, the user can see the date and time the program wakes up by placing the mouse over this icon.

Note : LastExecutionDate must be in the format dd/mm/yyyy, or be 0 if never done (to initialize). A date of type dd/mm/yyyy is always the date of the last run or the last message.

n is the repetition period, in integer number of days.

A or S means that A must be set for an Asynchronous Command Launch, S for a Synchronous Launch.
With a synchronous launch, Taches waits for the command or program to be terminated or quit before proceeding. Be careful with the synchronous option, as this can block Taches completely if the launched program does not complete.
If in doubt, it is best to use only asynchronous launches.
With an Asynchronous launch, Taches starts the command and then passes without waiting in succession, that is to say on the next line of Taches.txt.

i, when it exists, is always before n. It's a counter. When you create a line, put 0. Then the counter value will increase. When i becomes equal to n, the line is executed. i is the number of days that Taches.exe was started, but did not start the task of the line where this i is.

See below the sample Taches.txt file created by Taches.exe when it is started the first time and this file is missing.
Edit it and add lines to make your own file:
'Taches.txt file. Add here your tasks, one task per line.
'This example run the notepad once a day:
A | S | 0 | 0 | 1 | Click ok to run the Windows notepad, then close it. | c:\windows | notepad.exe
c | End of JTaches.
z | 0

Taches.exe starts each time Windows starts (if you add it to the task scheduler or a startup folder, or if you install it in the registry like explained below), runs once, then exits or falls asleep, depending on the z parameter.
If z> 0, it wakes up periodically to check if there is a task to perform.
If z = 0, the tasks are executed once and the program exits.
If you turn on your computer and turn it off each time you use it, use z | 0.
If you wake it up, then put it back into sleep mode, without turning it off at least once a day, for example, write z | 3600.
If you use I (see above), put z | 60.
When in doubt, put z | 3600 represents one hour in seconds (1h = 60min = 3600s).

Note: To start this program automatically when windows is launched, install it in the registry key HKCU\Software\Microsoft\Windows\CurrentVersion\Run by running it with the word "install" as command line, or put a shortcut in your startup folder, or add a task to the Windows task scheduler.

How to use Taches as a program launcher

Each time you want to run several programs in a certain order, you can use Taches. Create a folder, copy Taches.exe, Licence.txt and the dlls inside this folder. Create a Taches.txt file and edit it. For exemple, you can type:
' DelCook.bat minimised
H | S | | C:\Bin\Com\Iron | DelCook.bat
'Pause 1s
p | 1000
' Iron
H | A | | C:\Bin\Com\Iron | IronPortable.exe --allow-outdated-plugins --disk-cache-dir="f:\tmp" %1
' don't stay in RAM
z | 0
and save your file. Now, when you run Taches.exe, it will launch DelCook.bat, which is a batch who delete cookies files, and then launch the Iron navigator after DelCook.bat has ended.
Note that if you add "%1" in the command line, Taches will replace it with its own command line.

How to use relative paths

In order to use Taches as a completely portable software, independant of the drive letter on which it as installed, you can use relative paths in Taches.txt, or you can ommit the drive letter.
-If you use a path without drive letter, like \a, the letter of the drive where is Taches.exe is added, and \ become D:\a
-If you use a relative path, like ..\a, the path of Taches.exe is the reference. So, in the example, ..\a become D:\Programs\Sys\a if Taches.exe is in D:\Programs\Sys\Taches.

You can download Taches below.

DOWNLOAD PAGE
download the 25 april 2020 version.

SOFTWARE MENU