Question

Check if exist new files and update txt file list

Asked by: zawa

Hello,

I'm trying to do a batch file that when it runs the first time it will make a files.txt file with all the files names that are in the folder c:\myfolder.
The folder "myfolder" may have other folders inside with files too.
Now the other part is that every time that i run the batch file i need that it to check the folder c:\myfolder and compare with the files in files.txt if exists new files it will update the files.txt with the new files names, if don't exist new files it won't do nothing.

Can anyone help me?

This Question has been solved and asker verified All Experts Exchange premium technology solutions are available to subscription members.

Subscribe now for full access to Experts Exchange and get

Instant Access to this Solution

  • Plus...
  • 30 Day FREE access, no risk, no obligation
  • Collaborate with the world's top tech experts
  • Unlimited access to our exclusive solution database
  • Never be left without tech help again

Subscribe Now

Asked On
2005-09-18 at 18:52:51ID21565695
Tags

dos

,

check

,

file

,

exist

Topic

MS DOS

Participating Experts
4
Points
125
Comments
10

Trusted by hundreds of thousands everyday for fast, accurate and reliable tech support.

  • "The time we save is the biggest benefit of Experts Exchange to Warner Bros. What could take multiple guys 2 hours or more each to find is accessed in around 15 minutes on Experts Exchange." Mike Kapnisakis, Warner Bros.
  • "Our team likes having a resource that is more secure than just using Google and most experts using this service really know their stuff. It's nice to look here first versus using Google." Dayna Sellner, Lockheed Martin
  • "Anytime that I've been stumped with a problem, 9 out of 10 times Experts Exchange has either the accepted solution or an open discussion of the potential solution to the problem." Kenny Red, eBay Inc.

See what Experts Exchange can do for you.

Got a question?

We've got the answer.

Experts Exchange has been collecting answers to technology questions since 1996…3 million and counting! If you have a question, chances are we already have your answer.

Screenshot of Experts Exchange Knowledgebase

Need individual assistance?

Our experts are ready to help.

If you can't find the exact answer you're looking for, ask our exclusive community of 50,000 experts. You’ll get a personalized answer from a trusted professional.

Screenshot of Experts Exchange Knowledgebase

Want to learn from the best?

Read articles from industry experts.

Thousands of free tech tips, tricks, how-to’s and tutorials are available in our peer reviewed articles section. See for yourself how smart our experts are, no login required.

Screenshot of an Article

Working on a long term project?

Store your work and research.

Save solutions to your questions, answers you’ve discovered through searching plus helpful articles in your personal knowledgebase for easy future access.

Screenshot of Experts Exchange Knowledgebase

Access the answers to your technology questions today.

Subscribe Now

30-day free trial. Register in 60 seconds.

What Makes Experts Exchange Unique?

Members of the expert community talk about why the experience at Experts Exchange is different than what you will find anywhere else.

Trusted by the world's most respected brands.

image of each brand's logo

Faithfully serving IT professionals since 1996.

Experts Exchange Logo

Try it out and discover for yourself.

Subscribe Now

30-day free trial. Register in 60 seconds.

Related Solutions

  1. Batch file to Compare two txt files
    Ok Hope Somone can help me out with this one.... I am currently writing some batch files to automate a emailing system... The basics are I have a program that outputs information to a txt file called docket-%DATE%.txt It outputs docketnum;emailaddress/faxnum;companyname;date...
  2. batch compare
    I would like to have a batch file during logon that compares a patch against a file. ex: -------------------- logon.bat: @echo off start patch.bat ------------------- patch.bat: @echo off setlocal set PATHTOFIXES=\\server\scripts$\qchain\patches %PATHTOFIXES%\kb822150.exe ...
  3. Need a VBScript to open a file and verify that all files inside …
    Hello all, I have a txt file that contains quite a few lines of UNC paths to PDFs all in different folders but in the same server, what I wanted to do is get a VB Script that would read that txt file and check each of the links and make sure the files exists and when its com...

Free Tech Articles

  1. WARNING: 5 Reasons why you should NEVER fix a computer for free.
    It is in our nature to love the puzzle. We are obsessed. The lot of us. We love puzzles. We love the challenge. We thrive on finding the answer. We hate disarray. It bothers us deep in our soul. W...
  2. SCCM OSD Basic troubleshooting
    SCCM 2007 OSD is a fantastic way to deploy operating systems, however, like most things SCCM issues can sometimes be difficult to resolve due to the sheer volume of logs to sift through and the dispe...
  3. Migrate Small Business Server 2003 to Exchange 2010 and Windows 2008 R2
    This guide is intended to provide step by step instructions on how to migrate from Small Business Server 2003 to Windows 2008 R2 with Exchange 2010. For this migration to work you will need the fo...
  4. Create a Win7 Gadget
    This article shows you how to create a simple "Gadget" -- a sort of mini-application supported by Windows 7 and Vista. Gadgets can be dropped anywhere on the desktop to provide instant information, ...
  5. Outlook continually prompting for username and password
    There have been a lot of questions recently regarding Outlook prompting for a username and password whilst using Exchange 2007. There are a few reasons why this would happen and I will try to cover t...
  6. Backup Exchange 2010 Information Store using Windows Backup
    There seems to be quite a lot of confusion around the ability to backup Exchange 2010 using the built in Windows Backup feature. This stems from the omission of this feature prior to Exchange 2007 s...

Cloud Class Webinars

  1. Avoiding Bugs in Microsoft Access
    Alison Balter takes and in-depth look at avoiding bugs in Access. In this webinar you will learn about using the immediate window to debug your applications, invoking the debugger, using breakpoints to troubleshoot, stepping through code, setting the next statement to execute, ...
  2. Top 10 Best New Features in Visio 2010
    Scott Helmers gives live demonstrations of the top 10 new features in Visio 2010. This webinar will teach you how to create compelling diagrams by adding shapes to the page with a single click, linking the shapes in a diagram to data in Excel (or SQL Server, or SharePoint), ...
  3. IT Consultant Business Secrets Revealed
    Michael Munger, Experts Exchange tech pro and IT consultant, pulls back the curtain on his very successful businesses and answers question on every IT consultant and business owner should know about. He shares secrets on what he did to solve the 5 most common problems in IT, ...
  4. Disaster Recovery and Business Continuity
    Quest CTO, Mike Billon, gives an overview of the steps involved in building a dunamic disaster recovery plan. Through case studies and an examination of software/hardware tooles for monitoring and testing, you'll gain a better understandin of where you are, where you want ...
  5. Organize Your Visio Diagrams with Containers and Lists
    Scott Helmers uses cross functional flowcharts, wireframe diagrams, data graphic legends and seating charts to teach you: how to ustilize all three new structured diagram components in Visio 2010, the best practices for organizeing shapes in previous version of Visio, how to organize ...
  6. How to Us Objects, Properties, Events and Methods in Microsoft Access
    Alison Dalter gives an in-depbth look at objects, properties, events and methods in Microsoft Access. In this webinar you will learn about using the object browser, referring to objects, working with properties and methods, working with object variables, understanding the ...

Join the Community

Give a Little. Get a Lot.

Join the community of experts here and help other tech pros by answering question in your area of expertise. You can earn FREE access to all Experts Exchange's premium features and resources.

Join the Community

Answers

 

by: CaudaxPosted on 2005-09-18 at 22:40:50ID: 14909580

I dont know why you wouldn't just want a batch that simply puts all the filenames in the directory in the files.txt.

The batch for that would be:

@DIR /B /S>FILES.TXT

 

by: InteractiveMindPosted on 2005-09-19 at 05:23:43ID: 14911033

More specifically:

   @dir /b /s "c:\myfolder\*.*">files.txt

As for checking for new files, your best bet would be something like this:

   for /f "delims=" %%I in ('dir /b /s "c:\myfolder\*.*"') do (
      find "%%~I" "files.txt" >nul
      if %errorlevel% neq 0 @echo %%~I>>"files.txt"
   )

 

by: zawaPosted on 2005-09-19 at 12:25:46ID: 14914930

Hello,

Caudax, i dont want a batch that simply puts all the filenames in the directory in the files.txt becouse i need to keep in files.txt all the filenames that passed in c:\myfolder, even if they are no longer there.

InteractiveMind , i tested your solution and the first part is everything ok but the part of checking for new files doesn't seem to work. It doesn't add the new files to files.txt.

Thanks for the help so far.

 

by: garycasePosted on 2005-09-19 at 12:54:41ID: 14915149

Just to be sure I understand what you're trying to do, please confirm this is "logically" what you want to achieve:

Initialization conditions:  Create Files.txt with an initial list of all files in C:\MyFolder and its subdirectories.

Now, on each subsequent run:

(1)  Create a file "CurrentFiles.txt" that list all of the files currently in C:\MyFolder and its subdirectories.

(2)  Remove from "CurrentFiles.txt" any files that are currently in "Files.txt"  (at the end of this step only NEW files will be listed in "CurrentFiles.txt"

(3)  Append "CurrentFiles.txt" to "Files.txt"  (at the end of this step Files.txt will have everything it previously had -- so your requirement to keep files "even if they are no longer there" is met -- plus any new files)

Assuming that's what you want to do, there are several ways to do it.  But a couple of questions:  (1)  do you want each file to have the complete pathname, or is a simple directory listing (like Caudax's command produces) good enough?, and (2) if you have the files listed with pathnames, do you want the list sorted?  (this would be an optional 4th step - easily done with any of several free utilities)

 

by: InteractiveMindPosted on 2005-09-19 at 12:58:33ID: 14915179

My solution had one slight problem, which is related to what's called "delayed expansion".

Firstly, of course, you must run this line:

   @dir /s /b "c:\myfolder\*.*" >files.txt

Then, in a batch file, use this:

@echo off
setlocal enabledelayedexpansion
for /f "delims=" %%I in ('dir /b /s "c:\myfolder\*.*"') do (
   find "%%~I" "files.txt" >nul
   if %errorlevel% neq 0 @echo %%~I>>files.txt
)

 

by: InteractiveMindPosted on 2005-09-19 at 12:59:01ID: 14915185

Oops, sorry.. you will also need to change this line:

   if %errorlevel% neq 0 @echo %%~I>>files.txt

to:

   if !errorlevel! neq 0 @echo %%~I>>files.txt

 

by: zawaPosted on 2005-09-19 at 14:52:09ID: 14916023

Hello again,

InteractiveMind, i tested your solution and its perfect. It's exactly that what i was needing.
One last question: Is it possible to make the files.txt with all the filenames but without the path just the filename ?

Thanks for all the help.
Special thanks to InteractiveMind.

 

by: K_2KPosted on 2005-09-19 at 16:26:18ID: 14916520

two letters: the modifiers n and x for name and extension.  Of coarse, the find will also have to find based on what you put in the file instead of the total name:


:: this version prints the echo to the screen as it runs, for a poor man's progress report
for /f "delims=" %%K in ('dir /b /s "c:\myfolder\*.*"') do find "%%~nxK" "files.txt" >nul || echo %%~nxK>>"files.txt"



:: this version doesn't
echo off
for /f "delims=" %%K in ('dir /b /s "c:\myfolder\*.*"') do find "%%~nxK" "files.txt" >nul || echo %%~nxK>>"files.txt"

 

by: InteractiveMindPosted on 2005-09-20 at 05:29:50ID: 14919397

Cheers, zawa. :-)

Your additional question has been answered by K_2K :

@echo off
setlocal enabledelayedexpansion
for /f "delims=" %%I in ('dir /b /s "c:\myfolder\*.*"') do (
   find "%%~nxI" "files.txt" >nul
   if !errorlevel! neq 0 @echo %%~nxI>>files.txt
)

(K_2K: Nice to see you round these forums again... you seemed to go missing a few months back.... been busy?) :-)

 

by: K_2KPosted on 2005-09-20 at 17:07:16ID: 14924920

True, last year was hectic.  It's nice to be back, even if only on weekends and nights.  Y'all seem to be keeping the Q. queue cleaner than I remember, too ;-)

20120131-EE-VQP-002

3 Ways to Join

30-Day Free Trial

The Experts

98% positive feedback on 31,087 answers since March 2000. angeliii is a Microsoft Most Valuable Professional for his work with MS SQL Server & Develoment.

He has also proven his knowledge of Visual Basic Programming, PHP Scripting and Oracle Databases.

The Experts

97% positive feedback on 10,752 answers since July 2000. lrmoore has more than 18 years experience in the networking industry.

The six-time Mircosoft MVPs specialties include firewalls, virtual private networking, and network management.

Testimonials

"...and excellent source for support... Kind of like having your very own IT dept." Electriciansnet

Testimonials

"I was apprehensive at signing up at first. However... it has already made my life as an IT administrator much easier." JaCrews

Testimonials

"WOW! You guys have great, active, and knowledgeable people on here." moore50

Business Clients

Business Clients

In the Press

"If you’ve got a question... Experts Exchange can supply an answer.”

In the Press

"...an invaluable aid for both IT professionals and those who require tech support."

In the Press

"where IT professionals provide quick answers on just about any topic"

Business Account Plans

Loading Advertisement...