Solved

BAT file to automate copying files from vpn network to local machine.

Posted on 2008-10-10
7
1,301 Views
Last Modified: 2010-08-05
Hi, I'm trying to make a BAT file that will automate file management tasks on Windows XP. I would like to do the following:

1)      Check to see if a path exists
   a.      If fail, quit and throw a message box Did not connect
   b.      If success, continue
2)      Copy files from the network resource to the local machine
3)      Test to see if the files were successfully written to local machine
   a.      If fail, message box failed, try again
   b.      If success, message box Copy successful

I guess it will look something like this but I'm sure you'll recognize my VBAish looking if statements:

If { o:\data\files\copyme.mdb path exists } Then
   REM Copy file from O: to C:
   copy /Y o:\data\files\copyme.mdb c:\localdata\copyme.mdb
   copy /Y o:\data\files\copymeToo.mdb c:\localdata\copymeToo.mdb
Else
   Message Box O: Drive not connected
   Exit
End If

If {copy successful} Then
   Message Box Success
Else
   Message Box Copy failed, try again
End if

Exit

I'm a beginner so if I'm going about this the wrong way please let me know. Thanks.
0
Comment
Question by:BradleyOnTheRoad
  • 2
  • 2
  • 2
  • +1
7 Comments
 
LVL 23

Expert Comment

by:Danny Child
ID: 22689062
Here's how to check the path:
http://www.experts-exchange.com/Programming/Languages/Scripting/Shell/Batch/Q_23317031.html

and you can get info to the screen with the ECHO command.
0
 

Author Comment

by:BradleyOnTheRoad
ID: 22689667
OK, I took that example and changed it to

@echo off
setlocal
set dr_=C:\FolderDoesNotExist
 
if not exist "%dr_%" (echo Folder "%dr_%" not found goto :EOF)

The BAT file flashes the cmd screen for a second and then goes away. Why isn't there a message to tell me the folder doesn't exist?
0
 
LVL 21

Expert Comment

by:AmazingTech
ID: 22690374
There's no pause. Opening from a command prompt will echo.

Try this.

@echo off
setlocal 
set dr_=C:\FolderDoesNotExist
 
if not exist "%dr_%" (echo Folder "%dr_%" not found & pause & goto :EOF)

Open in new window

0
Three Reasons Why Backup is Strategic

Backup is strategic to your business because your data is strategic to your business. Without backup, your business will fail. This white paper explains why it is vital for you to design and immediately execute a backup strategy to protect 100 percent of your data.

 
LVL 21

Expert Comment

by:AmazingTech
ID: 22690524
You'll need to find some thing the popup the message box.

NET SEND may work for you.
If exist "o:\data\files\copyme.mdb" (
   REM Copy file from O: to C:
   copy /Y o:\data\files\copyme.mdb c:\localdata\copyme.mdb
   If NOT ERRORLEVEL 1 (
       Message Box Successfully copied copyme.mdb
   ) Else (
       Message Box Failed copying copyme.mdb, try again
   )
 
   copy /Y o:\data\files\copymeToo.mdb c:\localdata\copymeToo.mdb
   If NOT ERRORLEVEL 1 (
       Message Box Successfully copied copymeToo.mdb
   ) Else (
       Message Box Failed copying copymeToo.mdb, try again
   )
 
) Else (
   Message Box O: Drive not connected
   GOTO :EOF
)

Open in new window

0
 
LVL 1

Expert Comment

by:robertodf
ID: 22690674
Try this:
Let me know if you have any questions

save the following as soluition.cmd

:: Author: Robertodf
:: Batch file to copy files from network share or network drive to local folder
:: Filename: solution.cmd
::
:: 1. Check for network folder availability
if not exist \\server\share\file_or_directory goto notexist

:: 2. Copy folder contens to local machine
xcopy \\server\share\folder\*.* c:\localdir /s

:: 3. Test for local folder contents
if not exist c:\localdir\filename.tst goto errorlocal
echo Copy was successful
goto end

:notexist
echo File or Folder not exist
goto end

:errorlocal
echo Local File or Folder not exist, try again
goto end

:end
0
 
LVL 1

Accepted Solution

by:
robertodf earned 500 total points
ID: 22690721
Well if the batch flashes with out indicating success or failure we can change it like this (you will have to press a key after the message to continue)::

:: Author: Robertodf
:: Batch file to copy files from network share or network drive to local folder
:: Filename: solution.cmd
::
:: 1. Check for network folder availability
if not exist \\server\share\file_or_directory goto notexist

:: 2. Copy folder contens to local machine
xcopy \\server\share\folder\*.* c:\localdir /s

:: 3. Test for local folder contents
if not exist c:\localdir\filename.tst goto errorlocal
echo Copy was successful
pause>nul

goto end

:notexist
echo File or Folder not exist
pause>nul
goto end

:errorlocal
echo Local File or Folder not exist, try again
pause>nul
goto end

:end
0
 

Author Closing Comment

by:BradleyOnTheRoad
ID: 31505112
Thanks, I see how the conditional statements - as well as the pause - works now.
0

Featured Post

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

Being a system administrator some time we require to do things remotely, one of them is installing software. Here I am going to tell you how to install software through wmic (Windows management instrument console). I am not at all saying that this i…
For both online and offline retail, the cross-channel business is the most recent pattern in the B2C trade space.
Two types of users will appreciate AOMEI Backupper Pro: 1 - Those with PCIe drives (and haven't found cloning software that works on them). 2 - Those who want a fast clone of their boot drive (no re-boots needed) and it can clone your drive wh…

820 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