如何获取文件放置在Windows上的目录中的日期/时间?

如何获取文件放置在Windows上的目录中的日期/时间?,windows,file,filesystems,cygwin,directory,Windows,File,Filesystems,Cygwin,Directory,有没有办法知道文件何时被移动到某个目录 有人问我为什么我的脚本在某个目录中找不到文件。该文件是去年1月创建的,但我怀疑它是在脚本运行后放置在目录中的。我有没有办法证实我的怀疑 查看文件属性可以获得创建、修改和访问的时间,在将文件从一个目录移动到另一个目录时,前两个时间不会改变 编辑:我已经安装了cygwin,如果这有帮助的话。是否有一种unix方法可以确定何时创建目录条目?如果可以显示所涉及的文件是添加到该目录的最后一个文件,您可以查看目录本身的最后修改日期,因为当文件插入目录时,目录会被修改

有没有办法知道文件何时被移动到某个目录

有人问我为什么我的脚本在某个目录中找不到文件。该文件是去年1月创建的,但我怀疑它是在脚本运行后放置在目录中的。我有没有办法证实我的怀疑

查看文件属性可以获得创建、修改和访问的时间,在将文件从一个目录移动到另一个目录时,前两个时间不会改变



编辑:我已经安装了cygwin,如果这有帮助的话。是否有一种unix方法可以确定何时创建目录条目?

如果可以显示所涉及的文件是添加到该目录的最后一个文件,您可以查看目录本身的最后修改日期,因为当文件插入目录时,目录会被修改。否则,我不抱多大希望。

如果您使用的是Windows XP或2000或更高版本,您应该能够使用dir/tc来获取文件的创建时间(即文件复制到目录时)。在Cygwin下,您可以使用ls-lc。

使用wmic和/或为自己创建一个层在使用cyging时非常有帮助。例如,像这样的函数将返回文件的实际windows属性对话框中的所有内容

finfo() { [[ -f "$(cygpath "$@")" ]] || { echo "bad-file";return 1;}; echo "$(wmic datafile where name=\""$(echo "$(cygpath -wa "$@")"|sed 's/\\/\\\\/g')"\" get /value)"|sed 's/\r//g;s/^M$//;/^$/d'|awk -F"=" '{print $1"=""\033[1m"$2"\033[0m"}';}
这种方式无论文件是如何被触摸的,您都有多种方式可以知道


昨天修改了目录。这不是证据,但肯定有帮助。谢谢创建时间是文件实际创建的时间,而不是复制到目录的时间。这是真的吗?-如果文件是从其他目录移动的,那么创建时间是否也会移动并保持不变当然,由于这次搬迁,修改后的时间保持不变。修改的时间(CMD和Cygwin shell中文件列表使用的默认时间)不会更改,因为文件已被复制或移动。但创造的时间会。你自己试试看!Windows很奇怪,在Windows 8.1上,如果我删除一个文件并在同一目录中重新创建一个同名的新文件,则创建日期和时间将显示为旧文件&文件副本也是如此。