2010-12-04 21 views
0

EDIT: Heres le lien vers le fichier stringparsing.bat incase l'autre ne fonctionne pas pour vous! http://www.drivehq.com/file/DF.aspx?sesID=yycd31uaiezsvh3qrcdzkk45&isGallery=&share=&shareID=0&forcedDownload=true&fileID=618297825problème avec la commande set dans un fichier batch! S'il vous plaît aider

EDIT # 2: Le code snippet que je soupçonne d'être la cause du problème est:

set /p line1= : 
echo %line1% >> %name%.txt 2> error_log.txt 


echo %name% > Language_File.txt 
attrib +h Language_File.txt 
set /a foo+ =1 
) 
echo. 
echo ========================================================== 

goto LOAD 



:LOAD 
set /a foo+ =1 
IF %foo%== 2 goto loadexternal 
goto LOAD23 

:loadexternal 
echo. 
echo language file is loading now! 
IF Exist Language_File.txt attrib -h Language_File.txt 
set /p name=<Language_File.txt 

Le programme (pour une raison quelconque) ne peut pas trouver un fichier texte basé sur le contenu un autre fichier texte (language_file.txt) mais ive testé et il peut être fait, mais tout simplement pas dans mon programme ....


Ok, donc ive demandé 3 questions différentes sur le même fichier batch créé ive (stringparsin g.bat) le lien vers les autres deux questions se trouvent ici:

"access denied" error message for a text file i just made?

Alors d'abord il y avait un problème avec la mise en plusieurs lignes dans un fichier texte à une variable, qui est maintenant fixé. Ensuite, il y avait des messages d'erreur à venir parce que j'essayais de rediriger vers un fichier caché qui est corrigé. Maintenant, le problème réside dans la commande set/p avec une variable (% name%). Voici l'explication de mon problème (cité au bas de la page dans le lien ci-dessus)

"J'ai un problème .... J'ai corrigé l'erreur d'accès refusé, mais que" windows ne trouve pas le fichier "error" est vraiment confus, je l'ai testé dans une ligne de commande normale, "type frenchy.txt" affiche le contenu du fichier texte que j'ai créé, "set/p var =% name% .txt" affiche l'erreur. Après cela, j'ai tapé "echo% name%" et il a affiché le contenu du fichier texte, donc le problème réside dans l'utilisation (ou la mauvaise utilisation) de la commande set/p avec une variable. "

Si vous avez besoin de plus d'informations, je vous suggère fortement de suivre le lien vers ma/mes question (s) précédente (s). J'ai commencé une nouvelle question parce que personne n'y a répondu dans le commentaire (probablement parce que c'était un problème totalement différent et méritait donc une question distincte.) Aussi, la solution suggérée dans laquelle j'ai marqué comme "la meilleure réponse" (avec le vert check mark) ne fonctionne plus pour moi à cause de l'erreur "windows ne peut pas trouver le fichier spécifié" qui revient ... Ive l'a réduit au set/p comand avec% name% variable étant la cause du message d'erreur mais je n'arrive pas à comprendre ce que je fais mal ... à la fin de ce message, ajouter un lien vers ma version actuelle du fichier "stringparsing.bat" ... Ou si vous préférez juste voir le script pour cela (notez que ce n'est pas une copie récente de celui-ci) vous pouvez suivre le lien en haut pour aller à ma question précédente (j'ai le script posté là-bas) ive travaillé sur ce programme depuis un certain temps maintenant, mais ont seulement trouvé plus et plus de problèmes. J'espère que ce sera le dernier!

Heres le lien vers ma copie actuelle du fichier stringparsing.bat: http://uploading.com/files/183m5b63/stringparsing.bat/

Si vous voyez d'autres problèmes, alors s'il vous plaît laissez-moi savoir comment je peux les corriger!

Merci d'avance!

+0

pouvez-vous créer un petit fichier batch qui montre le problème que vous avez? J'ai un problème en téléchargeant le fichier, et je ne peux pas déposer la ligne "set/p var =% name% .txt" dans l'autre question que vous liez à. – wimh

+0

J'ai ajouté un nouveau lien vers le fichier en haut de ce post, aussi, passez à mon autre question et vous trouverez le code complet posté là, il suffit de copier ce script et l'essayer et vous verrez l'erreur (ou vous devriez). – daniel11

+0

Il est plus simple si vous ajoutez l'extrait et affichez les lignes problématiques – jeb

Répondre

1
set lang=french 
echo rapidement > %lang%.txt 
echo %lang%> language.txt 

rem .... 

set /p name=< language.txt 
echo %name% 
set /p vocable=< %name%.txt 
echo %vocable% 

Cette affiche français et RAPIDEMENT, comme prévu.

Je suppose que votre problème est l'espace derrière le nom de la langue dans echo% name%> Language_File.txt Donc, vous essayez d'ouvrir un fichier nommé « txt français » (en réalité seulement pour « français » est cherché).

Si vous avez des problèmes, c'est toujours une bonne idée de réduire le problème au minimum de code. Et puis c'est toujours une bonne idée d'activer echo sur

+0

vous avez raison, c'est mon problème actuel, (l'espace avant la variable% name% dans le nom de fichier) mais j'ai essayé tout et ne pourrait pas le réparer, pourriez-vous pointer ount dans mon script exactement où il est et comment je pourrais le réparer? Merci! – daniel11

+0

k je l'ai compris sur votre réponse a travaillé merci! Ce sont toujours les erreurs les plus simples qui sont les plus difficiles à trouver ... – daniel11