howto touch a file - setTimes

Steven Schveighoffer via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Mon Jul 24 11:22:39 PDT 2017


On 7/24/17 1:11 PM, Martin Tschierschke wrote:
> When I tried to set the atime and mtime of a file (f) via:
> 
> import std.datetime;
> auto time = Clock.currTime();
> setTimes(f,time,time);
> 
> I get "Operation not permitted."
> 
> This is caused on linux by the rule, that if you are not the owner of 
> the file
> you may only set the mtime of a file to current time.
> 
> A simple "touch filename" in terminal works.
> 
> Any hint? Do I have to use execute("touch filename")?

Hm... looking at the man page, it appears that you need to call the 
system call (e.g. utimes) with a null array.

This isn't possible via the current API. You could call it yourself 
instead of executing touch.

Would be a good enhancement request, please file: https://issues.dlang.org

-Steve


More information about the Digitalmars-d-learn mailing list