Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 521
  • Last Modified:

Determining copy date

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
FOX
Asked:
FOX
  • 8
  • 8
1 Solution
 
Gabriel CliftonCommented:
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
 
FOXActive Directory/Exchange EngineerAuthor Commented:
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
 
Gabriel CliftonCommented:
no, that would be the variable. you need the line set "folder=%CD:~2%"
0
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
FOXActive Directory/Exchange EngineerAuthor Commented:
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
 
Gabriel CliftonCommented:
set folder=G
0
 
FOXActive Directory/Exchange EngineerAuthor Commented:
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
 
Gabriel CliftonCommented:
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
 
FOXActive Directory/Exchange EngineerAuthor Commented:
command screen comes up and then disappears...I can see it says cannot find the specified file
0
 
FOXActive Directory/Exchange EngineerAuthor Commented:
Is there anything else I need to do to get this running correctly?
0
 
Gabriel CliftonCommented:
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
 
FOXActive Directory/Exchange EngineerAuthor Commented:
Ok P, I appreciate it.
0
 
Gabriel CliftonCommented:
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
 
FOXActive Directory/Exchange EngineerAuthor Commented:
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
 
Gabriel CliftonCommented:
It will go to the directory where it was ran from. you can change that by modifying >>directory\created.txt
0
 
FOXActive Directory/Exchange EngineerAuthor Commented:
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
 
Gabriel CliftonCommented:
No problem, glad to help.
0

Featured Post

VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

  • 8
  • 8
Tackle projects and never again get stuck behind a technical roadblock.
Join Now