[batch] script loopt wel op Win2K maar niet op NT4

Pagina: 1
Acties:

  • barkey
  • Registratie: Juli 2001
  • Laatst online: 09-08-2022

barkey

runtime error, goed he....

Topicstarter
Collega Tweakers,

heb een simpel batch bestand gemaakt die een ping uitvoerd naar diverse hosts.
het vreemde is dat dit bestand wel loopt op Win2k maar niet op NT4. iemand idee?
heb zelf het idee dat het mis gaat in het menu item gedeelte en heb daarom derest ook weg gelaten. please advise...

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
@echo off
:start
cls
echo.
echo.
echo == Da MaGiC ******** PinG Meister V2 ==
echo.
echo.
echo 1. Host1
echo 9. Host2
echo 7. Host3
echo 4. Host4
echo.
set choice=
set /p choice=Select Domain by typing the number in front of it.
if not '%choice%'=='' set choice=%choice:~0,1%
if '%choice%'=='1' goto host1
if '%choice%'=='9' goto host2
if '%choice%'=='7' goto host3
if '%choice%'=='4' goto host4
echo.
ECHO "%choice%" wrong input, please select 1, 9, 7 or 4.
ECHO.
pause
goto start
echo.
:host1
cls
echo.


Als ik het gehele script laat lopen laat hij wel de menu's zien maar laat meteen regel 22 zien terwijl dat pas gezien moet worden als men een selectie intypt wat geen optie is. als je daarna op iedere willekeurige tets drukt, sluit het script zichzelf af. waarom loopt dit wel op Win2K en niet op NT4 :?

did not reach the following recipient(s):


  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB

Front verplichte underscores

Als ik het gehele script laat lopen laat hij wel de menu's zien maar laat meteen regel 22 zien terwijl dat pas gezien moet worden als men een selectie intypt wat geen optie is
Het lijkt me dan vrij evident daty set /p niet gaat onder NT4. Ik kan het me niet herinneren of dit zo is maar check dus even welke parameters set kent in NT4. Via /? of google.

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)


  • barkey
  • Registratie: Juli 2001
  • Laatst online: 09-08-2022

barkey

runtime error, goed he....

Topicstarter
google, als je op bacth+NT4 zoekt, vind je niets over andere menu opties of command sets...

edit:

staat me iets bij van "If Errorlevel"... iemand idee of dat en vervanging kan zijn voor "choise" of dat het uberhaupt een oplossing is?

[ Voor 47% gewijzigd door barkey op 15-07-2004 10:52 ]

did not reach the following recipient(s):


Verwijderd

F_J_K schreef op 15 juli 2004 @ 08:48:
[...]

Het lijkt me dan vrij evident daty set /p niet gaat onder NT4. Ik kan het me niet herinneren of dit zo is maar check dus even welke parameters set kent in NT4. Via /? of google.
yup dat kan niet onder nt4. (overigens je kijkt niet op google maar tikt gewoon set /? op commandline).

helaas kan je geen commandline input geven op die manier, zoals de ts wil (uberhaupt niet). Echter er bestaat een nt4 resourcekit tool genaamd "choice" en die kan dit wel regelen...

[ Voor 11% gewijzigd door Verwijderd op 15-07-2004 11:18 ]


  • elevator
  • Registratie: December 2001
  • Niet online

elevator

Officieel moto fan :)

Je zou eigenlijk mischien beter 'choice.exe' op de kop kunnen tikken - hiermee kan je doen wat je wilt :)

  • barkey
  • Registratie: Juli 2001
  • Laatst online: 09-08-2022

barkey

runtime error, goed he....

Topicstarter
choice is op de machine gezet maar maakt niet uit. een scan op de Win2K machine lnaar Choice.exe of .com leverde een negatief resultaat.

heb iets in de trand geprobeert met:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
@ECHO OFF
:BEGIN
CLS
CHOICE /N /C:123 PICK A NUMBER (1, 2, or 3)%1
IF ERRORLEVEL ==3 GOTO THREE
IF ERRORLEVEL ==2 GOTO TWO
IF ERRORLEVEL ==1 GOTO ONE
GOTO END
:THREE
ECHO YOU HAVE PRESSED THREE
GOTO END
:TWO
ECHO YOU HAVE PRESSED TWO
GOTO END
:ONE
ECHO YOU HAVE PRESSED ONE
:END


maar dit menu script sluit meteen af bij het runnen. ;(
Whats the thing with NT4??

did not reach the following recipient(s):


Verwijderd

het script hoort ook af te sluiten bij runnen. doet tie zowieso ook bij 2000. maar als je bedoelt dat je commandvenster bij win2k open blijft en niet bij nt4 moet je maar eens in je commandvensterproperties kijken...

overigens kan je ook gewoon een cmd openen en de naam van je batch tikken...

en natuurlijk moet choice in je %path% staan of je moet de exacte locatie opgeven.


lol nog iets... je syntax van errorlevels is niet goed...

of:

if errorlevel 3 goto ... dan pakt tie alle errorlevels 3 of hoger
of:
if %errorlevel%==3 dan pakt tie alleen errorlevel 3

[ Voor 35% gewijzigd door Verwijderd op 15-07-2004 17:56 ]


  • hessel
  • Registratie: Januari 2000
  • Laatst online: 05-11-2024
haal eerst ff "@echo off" uit je programma, dit maakt debuggen een stuk gemakelijker

Grutte Pier fansels


  • barkey
  • Registratie: Juli 2001
  • Laatst online: 09-08-2022

barkey

runtime error, goed he....

Topicstarter
Zat net een stukkie te lezen op een website:
The CHOICE command was introduced in MS-DOS 6 and is still available in MS-DOS 7 (Windows 95/98).

In Windows NT 4, CHOICE no longer is a part of the standard distribution. It is, however, available as part of the Windows NT 4 Resouce Kit.

On the other hand, if you still have that old unused MS-DOS 6 or Windows 95/98 version lying around, you can use the CHOICE.COM from that version instead.
m.a.w, het choice command is einde oefening voor mij aangezien NT4 recource kit hier out of the question is. nog maar ff stoeien met de errorlevels...

did not reach the following recipient(s):


Verwijderd

je hoeft niet nt4 resourcekit te installen... choice.exe alleen gebruiken werkt prima

[ Voor 71% gewijzigd door Verwijderd op 16-07-2004 08:53 ]


  • barkey
  • Registratie: Juli 2001
  • Laatst online: 09-08-2022

barkey

runtime error, goed he....

Topicstarter
helaassss, choice.exe in system32 geplaatst/reboot geen effect. in NT 4 loopt het script nog steeds door tot regel 22 waarna hij vast loopt. is er geen enkel command in NT4 waarmee je een menu kunt toveren? had al een ouwe NT4 flop gevonden maar daar komen geen menu keuzes in voor. ook " If errorlevel" wilt niet met de sugesties eerder genoemd, bij die sluit het scrip meteen af. :'(

did not reach the following recipient(s):


Verwijderd

het ligt echt aan jou script. ik heb choice.exe meerdere malen gebruikt op nt4 zonder problemen...

edit: regel 22? ff script posten :)

[ Voor 17% gewijzigd door Verwijderd op 16-07-2004 16:08 ]

Pagina: 1