2010-12-07 64 views
1

Ok, j'ai fini de terminer mon programme de traitement par lots appelé "stringparsing.bat" et la dernière erreur qui me pose problème est celle qui dit "opérateur manquant" quand j'utilise l'extrait suivant:Message d'erreur "opérateur manquant" lors de l'utilisation de la commande "set/a"

set /p linecount= 
cls 
set foo=0 
set linenumber=0 

:lineset 
set /a linenumber=%linenumber% +1 
set /p line1= %linenumber% 
echo %line1% >> %name%.txt 
set /a foo=%foo%+1 
set /a line number=%linenumber%+1 
IF %foo%==%linecount% goto MAIN123 
goto lineset 

Plus specificly, ive réduit à:

set /a linenumber=%linenumber% +1 
    set /p line1= %linenumber% 

im assez sûr im mal en utilisant la commande set/p ... ce que je suis en train faire, est de faire une invite qui demande à l'utilisateur d'entrer comment ma ny lignes de texte qu'ils vont insérer dans un fichier texte. Faites ensuite une boucle qui demande à l'utilisateur de taper du texte qui est ensuite envoyé au fichier texte. Mais je voulais mettre le numéro de ligne avant l'invite de sorte qu'il ressemblerait à ceci:

alt text

Ainsi, lorsque le fichier batch demande pour la première ligne, il dit 1: et quand il demande la deuxième ligne, son dit 2:, et ainsi de suite. après chaque invite de ligne, je reçois le message d'erreur « opérateur manquant » ... BTW, je dois utiliser cette scirpt pour l'obtenir au travail:

set/p ligne1 =% linenumber% + 1

Mais Pour utiliser cette commande avec le +1 à la fin, dois-je ajouter le paramètre /a ainsi que le paramètre /p?

Des idées?

Répondre

3

Un simple écho sur pourrait aider ici :-)

Dans votre ensemble/ligne = nombre% linenumber% + 1 est un linenumber espace, qui est un problème.

Une autre chose, il est nécessaire d'utiliser

set /a linenumber=%linenumber% +1 

Il est préférable d'utiliser

set /a linenumber=linenumber+1 
or 
set /a linenumber+=1 
+0

qui a fonctionné! Merci – daniel11