program touchdirectory;
{$codepage UTF8}
uses
SysUtils, DateUtils, Process;
const
TOUCH = 'C:\BCC101\bin\touch.exe';
// https://www.embarcadero.com/fr/free-tools/ccompiler
var
year, month, day, hour, minute, second, millisecond: word;
stamp, path: string;
begin
if (ParamCount = 1) and DirectoryExists(ParamStr(1)) then
begin
path := ParamStr(1) + '\';
WriteLn('Traitement du répertoire "' + path + '".');
end else
begin
path := '';
WriteLn('Traitement du répertoire courant.');
end;
DecodeDateTime(Now(), year, month, day, hour, minute, second, millisecond);
stamp := Format('%0.2d%0.2d%0.2d%0.2d%0.2d', [month, day, hour, 0, year mod 100]);
with TProcess.Create(nil) do
begin
Executable := TOUCH;
Parameters.Add('-d' + stamp);
Parameters.Add('-D');
Parameters.Add('-s');
Parameters.Add('-v');
Parameters.Add(path + '*.*');
Options := Options + [poWaitOnExit];
Execute;
Free;
end;
Write('Appuyez sur Entrée pour continuer... ');
ReadLn;
end.