![]() |
1
2
现在,您可以使用“find”实用程序查找文件,然后通过SSH在远程机器上运行touch,而不是在这里使用硬编码值。但是,这意味着您可能必须为每个文件输入密码,除非您将SSH切换到cert身份验证。我可不想把这一切都写在一个超级花哨的单行诗里。我们来处理临时文件。首先转到有问题的目录并运行一个find(您可以根据文件类型、大小、扩展名、任何您喜欢的方式进行筛选,有关详细信息,请参阅“manfind”。我只是在这里按类型文件筛选以排除任何目录):
现在我们有了一个如下所示的文件(在我的示例中只有两个条目):
现在只需将文件复制到另一台计算机上,并将其放入目录(这样相对文件路径匹配)并应用日期:
注意:我使用了stat的最后一个“修改”日期,因为这是你在问题中写的。但是,听起来好像您想使用“创建”日期(每个文件都有一个创建日期、最后修改日期和最后访问日期),您需要稍微修改一下stat调用。
但是,touch只能改变修改时间和访问时间,我认为它不能改变文件的创建时间。。。所以如果这是你的真正意图,我的解决方案可能是次优。。。但在这种情况下,你的问题也是;-) |
![]() |
2
2
保罗的回答部分是正确的,
哪里
|
![]() |
3
1
我将遍历源目录树中的所有文件,并将它们的修改时间收集到一个可以在其他目录树上运行的脚本中。你需要小心一些“陷阱”。首先,确保输出脚本具有相对路径,并确保从正确的目标目录运行它,目标目录应该是目标树的根目录。另外,在更改计算机时,请确保您使用的时区与生成脚本的计算机上的时区相同。
下面是我编写的一个Perl脚本,它将输出
|
![]() |
4
1
您可以尝试的另一种方法是使用NFS附加远程目录,然后使用
|
![]() |
5
0
会这样做-它声称只发送 弄清楚没有区别 --times保留修改时间,这是您想要的。 参见(例如) http://linux.die.net/man/1/rsync 同时添加-I,--ignore times不要跳过大小和时间匹配的文件 因此,所有文件都被“传输”并信任rsync的文件差异优化,使其“相当高效”——请参阅下面手册页的摘录。
|
![]() |
6
0
Python脚本的运行速度比为每个文件创建新进程的方法快得多(比如使用
设置时间.py:
用法:
然后在第二个目录(原始目录的副本,可能有一些文件被修改/添加/删除)中运行如下:
|
![]() |
Jerome · 用于检查成功响应的脚本,而不仅仅是200[已关闭] 4 月前 |
![]() |
NullVoxPopuli · 重命名文件夹的最快方法是什么?[关闭] 5 月前 |
![]() |
YorSubs · Linux中遍历目录的时间不同方法[关闭] 6 月前 |
![]() |
Plankt0n · Shell,执行一个需要逐一遍历多个值的命令 6 月前 |
![]() |
Andres Mora · 如何根据文件名条件删除文件夹中的图像? 6 月前 |