2008-12-16 3 views
4

Je travaille sur un fichier batch. Je dois lire le nom d'un fichier texte. Laissez-moi vous l'expliquerComment lire n'importe quel texte after = signe stocké dans un fichier

J'ai un fichier File.txt, qui a l'entrée comme FirstName=John. Maintenant, mon fichier batch doit lire le texte John à partir du fichier et je devrais pouvoir stocker John dans une variable aussi.

Mais avec le code suivant, si j'utilise delims==, je peux obtenir le texte FirstName stocké dans une certaine variable mais pas John.

for /F "delims==" %%I in (File.txt) do set Title=%%I 
echo %Title% 

Est-il possible où je peux obtenir John de mon File.txt et le stocker dans mon boucle for?

Répondre

2
@echo off 
setlocal 
for /F "tokens=1,2 delims==" %%a in (File.txt) do set Title=%%b 
echo %Title% 

n'extrait la première valeur de nom dans Title ... mais seulement pour la dernière ligne contenant Firstname!

@echo off 
setlocal 
for /F "tokens=1,2 delims==" %%a in (File.txt) do (
    set t=%t% %%b 
) 
echo %t:Firstname=% 

Concatène tous les prénoms trouvés.

0

Le problème est que le John est le deuxième jeton trouvé, Firstname étant le premier jeton trouvé. Vous avez beaucoup d'options.

  • Vous pouvez utiliser tokens=2 sauter le premier jeton et obtenir la deuxième jeton dans la variable %%I. Aucune autre variable n'est générée.
  • Vous pouvez utiliser la variable %%J (générée automatiquement) qui contient le second jeton. %%K contiendrait le troisième jeton et ainsi de suite.
  • Vous pouvez utiliser tokens=2* sauter le premier jeton et obtenir tous les jetons suivants dans les variables I, J, K, etc.
Questions connexes