这是作弊,因为它涉及到编译一个有助于实现此目的的小程序。它涉及一个简单的c#程序,但主要是cmd。
我们的想法是,如果只有cmd包含一个程序/命令,当给定文件名时,它会在一行上给出,文件的完整路径和创建日期/时间。然后在cmd中,可以使用cmd的命令,将(显示文件的路径和创建日期/时间)命令应用于每个文件。所以我写了一个小程序,可以采用文件名并显示其完整路径和创建日期/时间。然后我在cmd中使用它。
该程序..
C:\blah>type a.cs
using System.IO;
class asdf
{
public static void Main(string[] args) {
if(args.Length==0) {
System.Console.WriteLine("Pass a filename");
return;
}
System.IO.FileInfo fileInfo = new FileInfo(args[0]);
System.Console.Write(fileInfo.FullName+" ");
System.DateTime creationTime = fileInfo.CreationTime;
System.Console.WriteLine("cdt "+creationTime);
}
}
C:\blah>
编译它
C:\blah>csc a.cs
Microsoft (R) Visual C# Compiler version 4.0.30319.18408
for Microsoft (R) .NET Framework 4.5
Copyright (C) Microsoft Corporation. All rights reserved.
C:\blah>
这样就创建了一个
a.exe是一个小程序,当传递文件名作为参数时,给出完整路径和创建日期/时间
C:\blah>a.exe w.obj<ENTER>
C:\blah\w.obj cdt 25/07/2015 1:03:52 AM
C:\blah>
其余的是cmd
如果您没有C#编译器
我在这里添加了一个链接到a.cs(上面的源代码)a.exe,并且由于chrome试图阻止任何exe,你可以下载a.ex2并重命名它。或者当Chrome尝试阻止exe时,然后说“解散”并转到chrome中的下载并说出恢复文件。但无论你想做什么,你都可以获得EXE。也许visual studio express(就像一个免费的小型Visual Studio)将有csc.exe让你编译它,如果你想这样做。
http://ge.tt/2LdAiGN2
一旦你有了这个小程序,那么你可以在cmd中完成这个
c:\blah>for /r %f in (*.jpg) do @a.exe %f
c:\blah\a.jpg cdt 31/07/2015 3:55:40 PM
c:\blah\a10.jpg cdt 3/11/2013 8:19:07 AM
c:\blah\a11.jpg cdt 3/11/2013 8:19:16 AM
c:\blah\a12.jpg cdt 3/11/2013 8:48:45 AM
C:\blah\dff\Calendar.jpg cdt 25/08/2009 3:00:02 AM
C:\blah\dff\CheckDST.jpg cdt 28/07/2005 2:00:02 AM
所以你可以做的是做那个命令但是转储到一个文件
C:\blah>del mynewfile.a
C:\blah>for /r %f in (*.jpg) do @a.exe %f >>mynewfile.a
C:\blah>
然后你可以使用find或gnuwin32的grep
C:\blah>find "22/05/2015" mynewfile.a
---------- MYNEWFILE.A
C:\blah\sdff\a.jpg cdt 22/05/2015 5:54:53 AM
C:\blah\sdff\a2.jpg cdt 22/05/2015 6:20:40 AM
C:\blah\sdff\b.jpg cdt 22/05/2015 5:56:12 AM
或者使用gnuwin32的grep
C:\blah>grep "22/05/2015" mynewfile.a
C:\blah\sdff\a.jpg cdt 22/05/2015 5:54:53 AM
C:\blah\sdff\a2.jpg cdt 22/05/2015 6:20:40 AM
C:\blah\sdff\b.jpg cdt 22/05/2015 5:56:12 AM
C:\blah>
dir /?
展示dir /t:c
这是创作时间