如何在不使用实际的touch
可执行文件的情况下实现平台独立触摸?我不能依赖于touch
处于PATH中,甚至不能存在于特定系统中。
答案 0 :(得分:1)
创建一个空文件并将原始文件+空文件复制回原始文件。我刚刚在Windows上进行了测试,但它确实有效。
C:\tmp>dir \utils\emp* Volume in drive C has no label. Volume Serial Number is BC80-0D15 Directory of C:\utils 2011-03-14 11:58 0 empty_file 1 File(s) 0 bytes 0 Dir(s) 27,506,368,512 bytes free C:\tmp>dir *.gif Volume in drive C has no label. Volume Serial Number is BC80-0D15 Directory of C:\tmp 2010-10-08 12:00 20,463 cknight.gif 2009-10-30 17:31 1,298,525 img-big.gif 2009-10-30 17:46 225,992 img.gif 3 File(s) 1,544,980 bytes 0 Dir(s) 27,506,368,512 bytes free C:\tmp>copy /b img.gif+\Utils\empty_file /b img.gif img.gif \Utils\empty_file 1 file(s) copied. C:\tmp>dir *.gif Volume in drive C has no label. Volume Serial Number is BC80-0D15 Directory of C:\tmp 2010-10-08 12:00 20,463 cknight.gif 2009-10-30 17:31 1,298,525 img-big.gif 2011-03-14 12:07 225,992 img.gif 3 File(s) 1,544,980 bytes 0 Dir(s) 27,506,368,512 bytes free C:\tmp>
答案 1 :(得分:1)
触摸取决于utime()
,它是POSIX,应该可以在大多数平台上使用。
或者,您可以将自己的触摸实现作为可执行文件提供(如果需要从脚本中调用它)。