We help IT Professionals succeed at work.

Syantx of command of wrong when we ran with single arument

kumar siva
kumar siva asked
on
106 Views
Last Modified: 2017-05-13
When I ran the below script with single/Without  arguments
Ex.AB-A0123-DLY
  AB-A0123-DLY 4

it was giving the error as The syntax of the command is incorrect was wrong.
@echo off
cls
setlocal EnableDelayedExpansion

SET arg1=%1
call %~dp0\ABMaster.bat

::#Get the number of arguments
SET /A ARGS_COUNT=0
FOR %%A in (%*) DO SET /A ARGS_COUNT+=1 

::#Calculate thread count,thread start and thread end numbers only all three arguments are supplied.
IF "%3" == "" GOTO cont
SET /A a = %1%
SET /A b = %2%
SET /A c = %3%
:cont

IF %ARGS_COUNT% == 2 GOTO MIN_ARG
IF %ARGS_COUNT% geq 4 (
      :MIN_ARG      
            echo Incorrect arguments provided. Ending the job. Run the job with  correct arguments as shown in below example. 
            set ERRORLEVEL=-1 
            GOTO JOB_STATUS
      )
IF %ARGS_COUNT% leq 1  (
      IF "%arg1%" == "" (
            @echo Executing job without Parameters
            Java %JAVA_OPTS% -Djava.awt.headless=true -server -Xms1024m -Xmx2048m -XX:MaxPermSize=512m -XX:NewSize=64m -XX:MaxNewSize=64m -XX:NewRatio=3 com.abc.abcDriver AB-A0123-DLY >%BATCH_LOG%\AB-A0123-DLY_%timestamp%.txt 2>&1
      ) ELSE (
            @echo Executing job with single Parameters
            FOR /L %%G IN (1,1,%arg1%) DO (
                  @echo Executing job with Parameter %%G
                  cmd /c start /b %~dp0TestParallelRun.bat AB-A0123-DLY %%G %arg1%
                  ping -n 6 127.0.0.1 >nul
            )
      )

      :checkfile
      FOR /L %%G IN (1,1,%arg1%) DO (
            if not exist %BATCH_LOG%\AB-A0123-DLY_T_%%G_%arg1%.txt GOTO checkfile
            )
      FOR /L %%G IN (1,1,%arg1%) DO (
            set /p value=< %BATCH_LOG%\AB-A0123-DLY_T_%%G_%arg1%.txt
            SET trimval=!value: =!
            IF NOT !trimval! == 0 (
                  set ERRORLEVEL=!trimval!
                  del %BATCH_LOG%\CO\AB-A0123-DLY_T_*.txt
                  GOTO JOB_STATUS
            )
      )
)

IF "%ARGS_COUNT%" == "3" (
	FOR /L %%G IN (%b%,1,%a%) DO (			
		@echo Executing job with Parameter %%G
		cmd /c start /b %~dp0TestParallelRun.bat AB-A0123-DLY %%G %a%
		ping -n 6 127.0.0.1 >nul
		
		IF %%G geq %c% (			
			goto :BREAK
		)
	)
	:checkfile2
	FOR /L %%G IN (%b%,1,%a%) DO (
		if not exist %BATCH_LOG%\AB-A0123-DLY_T_%%G_%a%.txt GOTO checkfile2
		IF %%G geq %c% (			
			goto :checkfile3
		)
	)
	:checkfile3
	FOR /L %%G IN (%b%,1,%a%) DO (
		set /p value=< %BATCH_LOG%\AB-A0123-DLY_T_%%G_%a%.txt
		SET trimval=!value: =!
		IF NOT !trimval! == 0 (
			set ERRORLEVEL=!trimval!
			del %BATCH_LOG%\AB-A0123-DLY_T_*.txt
			GOTO JOB_STATUS
		)
		IF %%G geq %c% (			
			goto :BREAK
		)
	)
)

:BREAK
if exist %BATCH_LOG_TRUNK%\AB-A0123-DLY_T_*.txt del %BATCH_LOG_TRUNK%\AB-A0123-DLY_T_*.txt

:JOB_STATUS
call %~dp0\ABCJobStatus.bat

Open in new window

Comment
Watch Question

Test your restores, not your backups...
CERTIFIED EXPERT
Expert of the Year 2019
Top Expert 2016
Commented:
This problem has been solved!
(Unlock this solution with a 7-day Free Trial)
UNLOCK SOLUTION

Author

Commented:
With three arguments it was working fine
Ex:AB-A0123-DLY  5 5 15  and batch was ended successfully with zero  return code as shown in below.
Batch Job succeeded with error leve = 0 l
ABCJobStatus.bat code as shown in below
set errlvl=%ERRORLEVEL%

IF %errlvl% ==-99 (
echo Batch Job Aborted with error level = %errlvl% 
)

IF %errlvl%==0 (
echo Batch Job succeeded with error level = %errlvl% 
)

IF %errlvl%==-1 (
echo Batch ended but not succeeded because it's return error code = %errlvl% 
)
IF %errlvl%==4 (
echo FT Batch is not succeeded because it's return error code = %errlvl% 
)
IF %errlvl%==5 (
echo Batch is not succeeded because it's return error code = %errlvl% 
)
set RESEXE=%errlvl%

Open in new window


It was failing with single and without arguments as explained in the above
Bill PrewTest your restores, not your backups...
CERTIFIED EXPERT
Expert of the Year 2019
Top Expert 2016

Commented:
Did you understand the problem I identified, and did it resolve your problem?

~bp

Gain unlimited access to on-demand training courses with an Experts Exchange subscription.

Get Access
Why Experts Exchange?

Experts Exchange always has the answer, or at the least points me in the correct direction! It is like having another employee that is extremely experienced.

Jim Murphy
Programmer at Smart IT Solutions

When asked, what has been your best career decision?

Deciding to stick with EE.

Mohamed Asif
Technical Department Head

Being involved with EE helped me to grow personally and professionally.

Carl Webster
CTP, Sr Infrastructure Consultant
Empower Your Career
Did You Know?

We've partnered with two important charities to provide clean water and computer science education to those who need it most. READ MORE

Ask ANY Question

Connect with Certified Experts to gain insight and support on specific technology challenges including:

  • Troubleshooting
  • Research
  • Professional Opinions