我已经在 Windows XP 机器上安排了一个批处理文件来从网络共享中复制一些文本文件。下次运行此任务时,文件将被简单地覆盖。批处理文件是这样的
copy \\networkshare1\*.txt C:\monitoring\files\
copy \\networkshare2\*.txt C:\monitoring\files\
然后我使用 Perl 来分析这些文件。我想知道的是,是否有一种简单的方法可以在不更改文件名的情况下在某处记录文件从网络共享复制的时间,以便我的 Perl 脚本知道它是使用旧版本还是新版本文件。
最佳答案
一种方法,假设目标是 NTFS:
set dest=C:\monitoring\files\
for %%f in ("\\networkshare1\*.txt") do (
copy "%%f" "%dest%"
echo %TIME% >"%dest%%%~nxf:copywhen"
)
这会手动复制每个并将时间附加到 data stream copywhen
,当文件位于 NTFS 卷上时,它与文件永久关联。
我漂亮确信 Perl 的标准文件例程将允许通过简单地将路径传递为 C:\monitoring\files\whatever.txt:copywhen
来读取它,如果没有,您可以从命令行捕获输出 more <"C:\monitoring\files\whatever.txt:copywhen"
.
关于windows - 获取在 Windows XP 上复制文件的时间和日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13992061/