Comment “POUR le” travail dans cmd fichier batch?

J'ai été à la programmation dans des dizaines de langues pour 20 ans, mais je n'ai jamais pu comprendre comment "POUR le" travail dans windows cmd shell fichier de commandes, n'importe comment dur j'ai essayé. J'ai lu

http://www.amazon.com/Windows-Administration-Command-Line-Vista/dp/0470046163/ref=sr_1_1?ie=UTF8&s=books&qid=1241362727&sr=8-1

http://www.ss64.com/nt/for.html

et plusieurs autres articles sur internet, mais encore confondre et ne peut pas accomplir quoi que ce soit.

Quelqu'un peut-il me donner une explication concise sur la façon de "POUR" les œuvres en général ?

Pour un peu plus spécifique à la question, comment puis-je itérer sur chaque chemin dans la variable %PATH%?
J'ai essayé avec

rem showpathenv.bat
for /f "delims=;" %%g in ("%PATH%") do echo %%g

Que montrer seulement le premier chemin, pas tous d'entre eux. Pourquoi ? Ce que je fais mal ?

  • la accepté de répondre à ne manquer certains éléments importants de disponible pour la for /f boucle. Voir ma propre réponse... je pense qu'il est beaucoup plus proche de ce que vous avez demandé que Marc. Mais alors, je ne suis pas sûr à 100% de ce que vous avez demandé 😉
  • Personne n'a répondu à votre question: "Pourquoi ? Ce que je fais mal ?' - Alors je vais essayer maintenant: Il vous montre seulement le premier chemin, parce que vous n'avez seulement demander. Il fonctionne comme prévu (je ne dis pas que la conception est bonne). Vous devez demander de plus, si vous souhaitez plus d'informations: après le " g "vient le" h " dans l'alphabet -- donc ajouter echo %%h & echo %%i & echo %%j de voir 3 autres répertoires de chemin.
  • et tokens=... C:\>for /f "tokens=1,2,3,4 delims=;" %g dans ("%PATH%") do echo %g %h %i
  • souci de la réponse semble assez flexible, cependant, n'a pas besoin d'une longue liste de jetons, rend l'utilisation de la substitution (voir set /?), pour traiter le chemin.
InformationsquelleAutor Sake | 2009-05-03