• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 526
  • 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
Get your problem seen by more experts

Be seen. Boost your question’s priority for more expert views and faster solutions

 
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

Take Control of Web Hosting For Your Clients

As a web developer or IT admin, successfully managing multiple client accounts can be challenging. In this webinar we will look at the tools provided by Media Temple and Plesk to make managing your clients’ hosting easier.

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