?
Solved

Find a file in a dir and if found copy it

Posted on 2014-04-16
11
Medium Priority
?
272 Views
Last Modified: 2014-04-18
Hi I want to find a file given its name and if founf want to copy it to another folder , how do I?


find "myfile.pdf"
0
Comment
Question by:LuckyLucks
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 7
  • 3
11 Comments
 
LVL 5

Expert Comment

by:Pasha Kravtsov
ID: 40005477
Is it necessary to use windows batch?

python is much easier :)
import subprocess

ls_output = subprocess.Popen(["ls"], stdout=subprocess.PIPE, shell=True)
(out, err) = ls_output.communicate()

for x in out.split("\n"):
  if x == "myfile.pdf":
    subprocess.call(["copy %s" % x, "C:\Desktop\folder"])

Open in new window

0
 

Author Comment

by:LuckyLucks
ID: 40005504
sorry windows batch only at the moment
0
 
LVL 56

Expert Comment

by:Bill Prew
ID: 40005615
Where do you want to "look" for the file?

If it was just in a particular folder, then you can change to the folder and copy it, like this.  But I suspect the file is in a less obvious place?
cd c:\somedir
copy myfile.pdf d:\destdir

Open in new window

But if it could be anywhere under a base folder, then you could do something like this, which searches for the file in all subfolders and copys it when found:

for /f "tokens=*" %%A in ('dir /b /s /a-d "c:\somedir\myfile.pdf") do copy "%%~A" "d:\destdir"

Open in new window

~bp
0
Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 

Author Comment

by:LuckyLucks
ID: 40005652
ok maybe I am not clear......


I have a file called src_file which has lines of filename, like:

myfile1.pdf
myfile2.pdf


I need to iterate thru this list of files and on two specific folders on the server, want to check if they exist there. If they do, I want to copy them to say C:/Found (also on server).

The two folders to search are \\2454-prod\folder1 and \\2454-prod\folder1\subfolder
0
 
LVL 56

Accepted Solution

by:
Bill Prew earned 2000 total points
ID: 40005668
Okay, that helps.  Give this a try, seems to do what you described.

@echo off
setlocal EnableDelayedExpansion

set ListFile=src_file.txt
set SearchFolders="\\2454-prod\folder1","\\2454-prod\folder1\subfolder"
set DestDir=C:\Found

for /f "usebackq tokens=*" %%F in ("%ListFile%") do (
  for %%D in (%SearchFolders%) do (
    if exist "%%~D\%%~F" copy "%%~D\%%~F" "%DestDir%"
  )
)

Open in new window

~bp
0
 

Author Comment

by:LuckyLucks
ID: 40005774
Is there a way to err log the above code into a separate log file?
0
 

Author Comment

by:LuckyLucks
ID: 40005829
Didnt worl. Pls see attached screen shot of all execution
ErrorDoc.docx
0
 
LVL 56

Expert Comment

by:Bill Prew
ID: 40006482
I didn't see any errors in that execution screen capture, it just appears that the source file had no records in it.

~bp
0
 

Author Comment

by:LuckyLucks
ID: 40006821
The source file does have records and is in the same folder as the batch.
0
 

Author Comment

by:LuckyLucks
ID: 40006922
Also a sample in the src file is like this:
421ff817e-fdde-471a-b5d1-127213d51.pdf
24a58ce1-499f-4b36-8225-868247ffb.pdf
0
 

Author Closing Comment

by:LuckyLucks
ID: 40008960
Worked with a few tweaks....the for loop for file was OK. For some reason the dir loop want working....maybe its env related, so I just ran the script twice , once for each of the two dirs.
0

Featured Post

Enroll in August's Course of the Month

August's CompTIA IT Fundamentals course includes 19 hours of basic computer principle modules and prepares you for the certification exam. It's free for Premium Members, Team Accounts, and Qualified Experts!

Question has a verified solution.

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

Introduction: Recently, I got a requirement to zip all files individually with batch file script in Windows OS. I don't know much about scripting, but I searched Google and found a lot of examples and websites to complete my task. Finally, I was ab…
Use this article to create a batch file to backup a Microsoft SQL Server database to a Windows folder.  The folder can be on the local hard drive or on a network share.  This batch file will query the SQL server to get the current date & time and wi…
In this video you will find out how to export Office 365 mailboxes using the built in eDiscovery tool. Bear in mind that although this method might be useful in some cases, using PST files as Office 365 backup is troublesome in a long run (more on t…
Visualize your data even better in Access queries. Given a date and a value, this lesson shows how to compare that value with the previous value, calculate the difference, and display a circle if the value is the same, an up triangle if it increased…

764 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