要批量更改目录中所有文件的时间,可以使用touch命令结合find命令来实现。

修改为当前时间

假设要更改目录/path/to/directory中所有文件的访问时间和修改时间为当前时间,可以使用以下命令:

find /path/to/directory -type f -exec touch {} \;

这个命令会找到/path/to/directory中的所有文件(不包括文件夹),然后对每个文件使用touch命令来更新其访问时间和修改时间为当前时间。

如果要同时更新所有文件夹时间,可以使用以下命令:

find /path/to/directory -type d -exec touch {} \;

请注意,使用find命令和exec选项可以对目录中的所有文件进行批量操作,但请确保在执行此类操作之前进行必要的备份,以免意外丢失文件。

修改为指定时间

find /path/to/directory -type f -exec touch -a -m '2024-08-28 17:47:45' {} \;
find /path/to/directory -type d -exec touch -a -m '2024-08-28 17:47:45' {} \;

通过脚本修改时间

#!/bin/bash

current=`date "+%Y-%m-%d %H:%M:%S"`

find /path/to/directory -type f -exec touch -a -m "$current" {} \;
find /path/to/directory -type d -exec touch -a -m "$current" {} \;