Solved

Determining copy date

Posted on 2013-01-11
16
507 Views
Last Modified: 2013-01-15
Is there a tool or command to run against files on a usb drive to determine the date they were copied to that drive?
0
Comment
Question by:FOX
  • 8
  • 8
16 Comments
 
LVL 13

Expert Comment

by:Gabriel Clifton
ID: 38768005
Change for your needs

@echo off
setlocal DisableDelayedExpansion
for %%f in (created modified accessed) do if exist %%f.txt del %%f.txt
set "folder=%CD:~2%"
for /F "skip=1 tokens=1-3*" %%a in (
    '"wmic datafile where (path='%folder:\=\\%\\') get InstallDate, LastModified,

LastAccessed, Name"'
                                   ) do (
   for /F "delims=." %%A in ("%%a") do echo %%A %%d>> created.txt
   for /F "delims=." %%B in ("%%b") do echo %%B %%d>> modified.txt
   for /F "delims=." %%C in ("%%c") do echo %%C %%d>> accessed.txt
)

rem Process each list this way:
for /F "tokens=1*" %%a in (created.txt) do echo %%a - %%b
0
 
LVL 16

Author Comment

by:FOX
ID: 38768037
for %%f in (created modified accessed) do if exist %%f.txt del %%f.txt - Is f the drive letter of the usb drive in this statement?
0
 
LVL 13

Expert Comment

by:Gabriel Clifton
ID: 38768180
no, that would be the variable. you need the line set "folder=%CD:~2%"
0
Easy, flexible multimedia distribution & control

Coming soon!  Ideal for large-scale A/V applications, ATEN's VM3200 Modular Matrix Switch is an all-in-one solution that simplifies video wall integration. Easily customize display layouts to see what you want, how you want it in 4k.

 
LVL 16

Author Comment

by:FOX
ID: 38768213
So if the drive is G the script should look like this? Secondly, do I run this as a batch file or from the command prompt?

@echo off
setlocal DisableDelayedExpansion
for %%f in (created modified accessed) do if exist %%f.txt del %%f.txt
set "G=%CD:~2%"
for /F "skip=1 tokens=1-3*" %%a in (
    '"wmic datafile where (path='G:\=\\%\\') get InstallDate, LastModified,

LastAccessed, Name"'
                                   ) do (
   for /F "delims=." %%A in ("%%a") do echo %%A %%d>> created.txt
   for /F "delims=." %%B in ("%%b") do echo %%B %%d>> modified.txt
   for /F "delims=." %%C in ("%%c") do echo %%C %%d>> accessed.txt
)

rem Process each list this way:
for /F "tokens=1*" %%a in (created.txt) do echo %%a - %%b
0
 
LVL 13

Expert Comment

by:Gabriel Clifton
ID: 38768229
set folder=G
0
 
LVL 16

Author Comment

by:FOX
ID: 38768312
Please edit the script to show me exactly what it should look like if I have a usb drive G: in my laptop and I want to see the date the files on it were copied to it.  Secondly how am I running the script? As a batch file, do I have to run it in windows shell?, How do I run it?
0
 
LVL 13

Expert Comment

by:Gabriel Clifton
ID: 38768397
copy the code into notepad and save as file-dates.bat
to run open the bat file (double click)
@echo off
setlocal DisableDelayedExpansion
for %%f in (created modified accessed) do if exist %%f.txt del %%f.txt
set folder=G
for /F "skip=1 tokens=1-3*" %%a in (
    '"wmic datafile where (path='%folder:\=\\%\\') get InstallDate, LastModified, 

LastAccessed, Name"'
                                   ) do (
   for /F "delims=." %%A in ("%%a") do echo %%A %%d>> created.txt
   for /F "delims=." %%B in ("%%b") do echo %%B %%d>> modified.txt
   for /F "delims=." %%C in ("%%c") do echo %%C %%d>> accessed.txt
)

rem Process each list this way:
for /F "tokens=1*" %%a in (created.txt) do echo %%a - %%b

Open in new window

0
 
LVL 16

Author Comment

by:FOX
ID: 38768846
command screen comes up and then disappears...I can see it says cannot find the specified file
0
 
LVL 16

Author Comment

by:FOX
ID: 38780295
Is there anything else I need to do to get this running correctly?
0
 
LVL 13

Expert Comment

by:Gabriel Clifton
ID: 38780324
Sorry, I have been working on some big projects at work. I will look at the script again when I get back to my office
0
 
LVL 16

Author Comment

by:FOX
ID: 38780348
Ok P, I appreciate it.
0
 
LVL 13

Accepted Solution

by:
Gabriel Clifton earned 500 total points
ID: 38780644
Try this:
@echo off
for /F "tokens=1*" %%a in ('fsutil fsinfo drives') do (
   for %%c in (%%b) do (
      for /F "tokens=3" %%d in ('fsutil fsinfo drivetype %%c') do (
         if %%d equ Removable (
            echo Drive %%c is Removable (USB^)
SETLOCAL ENABLEEXTENSIONS
SETLOCAL ENABLEDELAYEDEXPANSION
FOR /F "tokens=1,* delims= " %%A IN ('DIR /T:C /A:-D %%c ^|FIND "/"') DO (
SET Cdate=%%A
SET Fname=%%B
SET Fname=!Fname:~24!
ECHO File: !FnamE! Created on: !CDate!>> created.txt
)
         )
      )
   )
)

Open in new window

I tried it on my Win7 X64 system. It looks for removable drives and lists files and creation date of each.
0
 
LVL 16

Author Comment

by:FOX
ID: 38780945
I am using the same exact script you have there. My usb drive is in my laptop as drive F:  I don't have to change anything in the script at all?  I have the same specs as you do.  Win7 x64.  The usb drive has about 1.67gb of data on it.  When I first started the script I saw the light on the usb fluctuating as if something was going on, so I will give it some time.  If there are any results are they going to be piped to the created.txt on the usb drive or on the laptop?
0
 
LVL 13

Expert Comment

by:Gabriel Clifton
ID: 38780958
It will go to the directory where it was ran from. you can change that by modifying >>directory\created.txt
0
 
LVL 16

Author Comment

by:FOX
ID: 38780996
P, that was it!!!!  I piped the file to location of my choice, not only that, I needed to right-click and run the batch file as administrator.  Thank you!!!!
0
 
LVL 13

Expert Comment

by:Gabriel Clifton
ID: 38780997
No problem, glad to help.
0

Featured Post

Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
PDF to JPG 13 58
Sharing a calendar in Outlook non Exchange Environment. 5 44
full control root but more restrictive lower permissions 1 38
enabling cortana on Windows 10 6 23
Recently Microsoft released a brand new function called CONCAT. It's supposed to replace its predecessor CONCATENATE. But how does it work? And what's new? In this article, we take a closer look at all of this - we even included an exercise file for…
Learn how to PXE Boot both BIOS & UEFI machines with DHCP Policies and Custom Vendor Classes
As developers, we are not limited to the functions provided by the VBA language. In addition, we can call the functions that are part of the Windows operating system. These functions are part of the Windows API (Application Programming Interface). U…
Get a first impression of how PRTG looks and learn how it works.   This video is a short introduction to PRTG, as an initial overview or as a quick start for new PRTG users.

821 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question