Fah*_*kar 16
我不确定这是小牛队的问题还是什么,但是touch -mt
或者touch -t
只是更新修改后的和上次打开的时间.
也许touch -mt
OR touch -t
命令与10.8.4及更早版本一起使用.
对于小牛队,我找到了如下解决方案.
SetFile -d '12/31/1999 23:59:59' file.txt
MM dd yyyy hh mm ss fileName
Run Code Online (Sandbox Code Playgroud)
要更新文件夹中的所有文件,请使用
SetFile -d '12/31/1999 23:59:59' *
Run Code Online (Sandbox Code Playgroud)
我相信以下find/touch应该有效:
find /target/dir -exec touch '{}' \;
Run Code Online (Sandbox Code Playgroud)
来自man touch
:
touch -- change file access and modification times
Run Code Online (Sandbox Code Playgroud)
最简单的方法是使用终端:
// to change the creation date
touch -mt 201308030000 [pathtofile][filename]
// to change the modified date
touch -t 201308030000 [pathtofile][filename]
Run Code Online (Sandbox Code Playgroud)
日期/时间字符串是这样构建的:
编辑
对于递归部分,请使用anubhava在其答案中建议的内容:
find [path] -exec touch -t 201308030000 {} \;
Run Code Online (Sandbox Code Playgroud)
对于那些没有安装XCode或开发者工具而无法使用的人SetFile
,请参阅下文
touch -m abc.txt
设置当前时间为abc.txt的修改时间 touch -mt YYYYMMDDhhmm abc.txt
设置 YYYYMMDDhhmm 为 abc.txt 的修改时间 touch -t YYYYMMDDhhmm abc.txt
将 YYYYMMDDhhmm 设置为 abc.txt 的访问时间和修改时间 touch
命令并不是为了更改文件创建时间而设计的。看来,创建时间并不是UNIX的概念。touch
用于更改文件访问和修改时间。请参阅的手册页touch
。那么为什么touch
只改变创建时间几次呢?原因是修改时间不能小于创建时间。因此,当我们将修改时间设置为创建时间之前的日期时,创建时间也会设置为修改时间。现在有两件事。
touch -t
设置为比创建时间更早的日期,将创建和修改时间设置为更早的日期。 touch -t
到比创建时间更新的日期,仅将修改时间设置为更新的日期。创建时间将不受影响。可以通过 达到最佳创建时间cp oldfile newfile
,因此newfile
将当前时间作为创建时间,然后可以再次减少touch -t
SetFile
适合任何日期。如果它不被PATH
用作
xcrun SetFile -d '12/31/2099 23:59:59' abc.txt
归档时间: |
|
查看次数: |
23678 次 |
最近记录: |