MSFN Forum: Find newest file - MSFN Forum

Jump to content


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Find newest file batch Rate Topic: -----

#1 User is offline   sweept 

  • Junior
  • Pip
  • Group: Members
  • Posts: 61
  • Joined: 08-November 05

Posted 03 February 2013 - 08:16 PM

Hi, I'm looking for a way to process two or more files that will SET (pick up) the newest file
for %%# in (%*) do set newest |@copy newest ..(command)
Example between: %~dpn1.log and a named one %~dp1Default.log
If neither Exist abort command..


#2 User is offline   5eraph 

  • Update Packrat
  • Group: Supreme Sponsor
  • Posts: 954
  • Joined: 04-July 05
  • OS:XP Pro x64
  • Country: Country Flag

Posted 03 February 2013 - 10:42 PM

Perhaps something like this...?

@ECHO OFF
SETLOCAL EnableDelayedExpansion
FOR /F "delims=" %%# IN ('DIR /A-D /B /OD "*.log" 2^>NUL') DO SET "sNewest=%%#"

This post has been edited by 5eraph: 03 February 2013 - 10:47 PM


#3 User is offline   Yzöwl 

  • Wise Owl
  • Group: Super Moderator
  • Posts: 4,364
  • Joined: 13-October 04
  • OS:Windows 7 x64

Posted 04 February 2013 - 03:06 AM

We need a little more information about the files you are using.

5eraph has assumed you are using the newest file of every file of a certain type in the same directory.
If you were copying that file then the following would probably suffice
XCOPY *.log X:\DestinationDir /D /Y


#4 User is offline   5eraph 

  • Update Packrat
  • Group: Supreme Sponsor
  • Posts: 954
  • Joined: 04-July 05
  • OS:XP Pro x64
  • Country: Country Flag

Posted 04 February 2013 - 07:13 PM

I made the assumption based on sweept's consistent references to %1; this indicates the files are in the same folder. Continuing on the logic, since I have a bit more time now...

@ECHO OFF
SETLOCAL EnableDelayedExpansion
FOR /F "delims=" %%# IN ('DIR /A-D /B /OD "%~dp1*.log" 2^>NUL') DO SET "sNewest=%%#"
IF EXIST "%~dp1Default.log" (
  IF /I "!sNewest!"=="%~n1.log" (
    COPY "%~dpnx1"
    (command)
) )

I have made two further assumptions:

  • The desired code is either a packaged function or standalone script that takes only one parameter (%1).

  • "%~dpn1.log" has the same timestamp as "%1".

This post has been edited by 5eraph: 04 February 2013 - 08:20 PM


#5 User is offline   sweept 

  • Junior
  • Pip
  • Group: Members
  • Posts: 61
  • Joined: 08-November 05

Posted 04 February 2013 - 08:27 PM

As to newest I meant Newer ;) soo Sorry I need to check my vocabulary sometime!!!

The subroutine needs to pick\Find which one is newer by the file's time-stamp. Setting the latest one for the command ..

#6 User is offline   5eraph 

  • Update Packrat
  • Group: Supreme Sponsor
  • Posts: 954
  • Joined: 04-July 05
  • OS:XP Pro x64
  • Country: Country Flag

Posted 04 February 2013 - 08:33 PM

Will there be only two files to compare?

How do "%~dpn1.log" and "%~dp1Default.log" fit into the picture?

  • Will there be a "%2"?

  • How are parameters (%1, %2, etc.) passed to the script: "drag-and-drop," or passed from another script?

Will the files to compare always be in the same directory?

Which command? As Yzöwl stated previously, a simple method may exist through that command.

This post has been edited by 5eraph: 04 February 2013 - 09:17 PM


#7 User is offline   Yzöwl 

  • Wise Owl
  • Group: Super Moderator
  • Posts: 4,364
  • Joined: 13-October 04
  • OS:Windows 7 x64

Posted 05 February 2013 - 12:01 AM

View Postsweept, on 04 February 2013 - 08:27 PM, said:

The subroutine needs to pick\Find which one is newer by the file's time-stamp. Setting the latest one for the command ..

I think this answers a few questions!

You have created your own secret batch file which calls a subroutine, written by us, which is passed two parameters. The subroutine must set a variable or return for the most recently modified/accessed/created, (we haven't been told), in order that your secret batch file can continue on its own way without bothering us!

Just post the batch file you have and let us play with it as necessary!

#8 User is offline   sweept 

  • Junior
  • Pip
  • Group: Members
  • Posts: 61
  • Joined: 08-November 05

Posted 05 February 2013 - 06:17 AM

Thanks 5eraph I found what I needed now!
at first glance I couldn't figure whats achieved using a dir command ..That /od switch (cool)
that was one great vast example
Thanks again!!! & to youYzöwl &members viewing thanks for you's patience :)

This post has been edited by sweept: 05 February 2013 - 06:19 AM


#9 User is offline   bphlpt 

  • MSFN Expert
  • PipPipPipPipPipPip
  • Group: Members
  • Posts: 1,082
  • Joined: 12-May 07

Posted 05 February 2013 - 12:28 PM

And we learned absolutely nothing at all. Your secret is safe! :)

Cheers and Regards

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

2 User(s) are reading this topic
0 members, 2 guests, 0 anonymous users



All trademarks mentioned on this page are the property of their respective owners
Copyright © 2001 - 2013 msfn.org
Privacy Policy