"T Lavedas" <> wrote in message
news:a34a7562-8512-4d0f-bf96-...
> On Jun 12, 11:46 pm, "Al Dunbar" <aland...@hotmail.com> wrote:
>> "Synapse Syndrome [KGB]" <syna...@NOSPAMsyndrome.me.uk> wrote in
>> messagenews:eG0tC$. ..
>>
>>
>>
>> > (NT shell scripting)
>>
>> > Say I have a goto parameter command -
>>
>> > goto :%parm%
>>
>> > If the batch label does not exist, the script ends with the error:
>>
>> > "The system cannot find the batch label specified - whatever"
>>
>> > I do not want the error message displayed, and I want the script to go
>> > and
>> > do something else instead. If I try..
>>
>> > goto :%parm:~2% || goto :error
>>
>> > ..that does not work.
>>
>> > Any solution?
>>
>> NT shell scripting, on what O/S: nt3.51, nt4, w2k, w2k3, w2k8, xp?
>>
>> I don't think you can trap an attempt to go to an invalid label. The
>> alternative is to check the value of the parm variable to see if it is a
>> valid label. One way:
>>
>> do %%L in (label1 label2 label3) if "%parm%" EQU "%%L" goto:%parm%
>>
>> Another way would be to use FIND or FINDSTR to search the batch file for
>> instances of ":%parm%". Trouble is if there was a "label called
>> ":whatsit"
>> and the value of parm was "what"...
>>
>> /Al
>
> Your batch skills are a bit rusty, Al. That should be ...
>
> FOR %%L in (label1 label2 label3) DO if "%parm%" EQU "%%L" goto:%parm
> %
>
> Tom Lavedas
> **************
Yeah, I always forget the DO. Fortunately, that throws an error which
reminds me. So thanks for being the error message in this case ;-)
/Al
|