Solved

Batch script not function as expected.

Posted on 2009-07-06
3
399 Views
Last Modified: 2012-05-07
Hi;

I have a batch script running on a W2K3 server, (see in code section), this batch file would check if any file exist in K:\PO\archive folder, if it is; it will copy the file to k:\po folder, if not exist, it will display a message.

Howerver; I cannot get "IF NOT EXIST k:\po\archive\*.* GOTO NOFILE" command line working.  It always go to BEGIN section eventhough there is no file in k:\po\archive folder.

Any idea?
@echo off
rem This is a batch program to copy the raw data file from Archive folder back to PO folder
 
:CHK
cls
set folder1=k:\po\archive
set folder2=k:\po
 
IF NOT EXIST k:\po\archive\*.* GOTO NOFILE
 
:BEGIN
dir %folder1%\*.#???????
 
echo.
set /p yn=Confirm to restore this file to K:\PO folder ? y/n 
 
if "%yn%"=="" (echo Not entry) & (GOTO CHK) 
if /I "%yn%"=="n" (GOTO QUIT)
if /I "%yn%"=="y" (GOTO FRESTORE) else (echo Entry not y or n!) & (GOTO CHK)
 
:FRESTORE
ECHO START MOVING...
robocopy %folder1% %folder2% *.*  /mov /maxage:0 /s
 
cls
 
dir k:\po\*.#???????
echo.
echo ************************************************************************
echo ** If you can see the file listed now, your file restore is complete. **
echo ** Run AGAIN.                                          **
echo ************************************************************************
echo.
echo ___________________________________________________________
echo If you do not see the file restored, please try again or 
echo.
echo contact I.T. Dept by e-mail or phone.                    
echo ___________________________________________________________
 
:END
 
echo.
set yn=
set /p yn=Do this again [y/n]?
if "%yn%"=="" (echo Not entry) & (GOTO END) 
if /I "%yn%"=="n" (GOTO QUIT)
if /I "%yn%"=="y" (GOTO CHK) else (echo Entry not y or n!) & (GOTO END)
 
:NOFILE
echo.
echo xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
echo x No file found in k:\po\archive folder,    x
echo x it could be done already.                 x
echo x No file restore can be done at this time. x 
echo x Asking I.T. Dept for further assistance.  x
echo xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
pause
:QUIT
EXIT

Open in new window

0
Comment
Question by:KANEWONG
3 Comments
 
LVL 6

Accepted Solution

by:
Francois_IT earned 200 total points
ID: 24787590
replace
 IF NOT EXIST k:\po\archive\*.* GOTO NOFILE

With
dir /b /a k:\po\archive\|findstr .>nul:&&(goto :BEGIN)||(goto :NOFILE)
0
 
LVL 2

Assisted Solution

by:lppperes
lppperes earned 50 total points
ID: 24787619
Hi Kanewong.

Try using these lines:
set file_exist = False
dir %folder1% /b | find /v "Some random string" >nul && (set file_exist=True) || (set file_exist=False)
IF %file_exist% == False GOTO NOFILE

Instead of:
IF NOT EXIST k:\po\archive\*.* GOTO NOFILE
0
 
LVL 1

Author Closing Comment

by:KANEWONG
ID: 31600268
Both solutions work but Francois is simple and what I need.
0

Featured Post

Optimizing Cloud Backup for Low Bandwidth

With cloud storage prices going down a growing number of SMBs start to use it for backup storage. Unfortunately, business data volume rarely fits the average Internet speed. This article provides an overview of main Internet speed challenges and reveals backup best practices.

Question has a verified solution.

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

Many admins will agree: WSUS is is a nice invention but using it on the client side when updating a newly installed computer is still time consuming as you have to do several reboots and furthermore, the procedure of installing updates, rebooting an…
The password reset disk is often mentioned as the best solution to deal with the lost Windows password problem. In Windows 2008, 7, Vista and XP, a password reset disk can be easily created. But besides Windows 7/Vista/XP, Windows Server 2008 and ot…
This video Micro Tutorial explains how to clone a hard drive using a commercial software product for Windows systems called Casper from Future Systems Solutions (FSS). Cloning makes an exact, complete copy of one hard disk drive (HDD) onto another d…
In this video, we discuss why the need for additional vertical screen space has become more important in recent years, namely, due to the transition in the marketplace of 4x3 computer screens to 16x9 and 16x10 screens (so-called widescreen format). …

809 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