Solved

Batch script not function as expected.

Posted on 2009-07-06
3
396 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
Comment Utility
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
Comment Utility
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
Comment Utility
Both solutions work but Francois is simple and what I need.
0

Featured Post

Free Gift Card with Acronis Backup Purchase!

Backup any data in any location: local and remote systems, physical and virtual servers, private and public clouds, Macs and PCs, tablets and mobile devices, & more! For limited time only, buy any Acronis backup products and get a FREE Amazon/Best Buy gift card worth up to $200!

Join & Write a Comment

Suggested Solutions

I've always wanted to allow a user to have a printer no matter where they login. The steps below will show you how to achieve just that. In this Article I'll show how to deploy printers automatically with group policy and then using security fil…
Citrix XenApp, Internet Explorer 11 set to Enterprise Mode and using central hosted sites.xml file.
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). …
With the advent of Windows 10, Microsoft is pushing a Get Windows 10 icon into the notification area (system tray) of qualifying computers. There are many reasons for wanting to remove this icon. This two-part Experts Exchange video Micro Tutorial s…

743 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

Need Help in Real-Time?

Connect with top rated Experts

16 Experts available now in Live!

Get 1:1 Help Now