获取在Windows XP上复制文件的时间和日期

Bru*_*uno 1 windows perl windows-xp batch-file

我已在Windows XP计算机上安排批处理文件,以从网络共享中复制大量文本文件.下次运行此任务时,文件将被覆盖.批处理文件是这样的

copy \\networkshare1\*.txt C:\monitoring\files\
copy \\networkshare2\*.txt C:\monitoring\files\
Run Code Online (Sandbox Code Playgroud)

然后我使用Perl来分析文件.我想知道的是,如果有一种简单的方法,无需更改文件名,就可以记录文件从网络共享中复制的时间,以便我的Perl脚本知道它是使用旧版本还是新版本文件.

Ale*_* K. 5

一种方法,假设目的地是NTFS:

set dest=C:\monitoring\files\
for %%f in ("\\networkshare1\*.txt") do (
    copy "%%f" "%dest%"
    echo %TIME% >"%dest%%%~nxf:copywhen"
)
Run Code Online (Sandbox Code Playgroud)

这会手动复制每个数据流 并将时间附加到数据流copywhen,该数据流在NTFS卷上就地时与文件永久关联.

确定Perl的标准文件例程允许通过简单地传递路径来读取它C:\monitoring\files\whatever.txt:copywhen,如果不是,你可以从命令行捕获输出more <"C:\monitoring\files\whatever.txt:copywhen".