Ceci est mon code jusqu'à présent: Je m'attends à produire: p> etc ... p> mais au lieu de cela, je reçois: p> et c'est tout. Qu'est-ce que je rate? p> p>
3 Réponses :
Essayez ceci:
set test=1,2,3,4 for /d %%f IN (%test%) do echo %%f
Vous avez mal compris les options.
jetons = 1 code> signifie que vous voulez seulement le premier jeton sur chaque ligne. Vous voulez tous les jetons sur la ligne. LI>
-
eol =, code> signifie que vous souhaitez interpréter une virgule comme le début d'un commentaire fin de ligne em>. Vous souhaitez utiliser delims =, code> plutôt pour indiquer que la virgule est le délimiteur (au lieu de la valeur par défaut de WhitSpace). LI>
ul> pour / f est principalement destiné à fonctionner sur des lignes dans un fichier. Tu ne fais pas ça. Vous utilisez sur une seule chaîne, la réponse de Rubens 'est-elle plus proche de ce que vous voulez: P>
FOR /F "usebackq delims=, tokens=1-4" %%f IN ('1^,2^,3^,4') DO (
ECHO .
ECHO %%f
ECHO .
ECHO %%g
ECHO .
ECHO %%h
ECHO .
ECHO %%i
)
"Vous avez mal compris les options": cela ne me suprise pas. La documentation que j'ai trouvée n'était pas si grande.
Mais si je le dis que la virgule est la fin de la ligne, je ne veux alors que le premier jeton sur chaque ligne? J'ai essayé d'utiliser l'option Delims aussi et je n'ai toujours pas reçu ce que je voulais. Tant pis.
Ouais, ça craint. POUR /? doit être lu très soigneusement. Ceci est une autre source: TECHNET.MICROSOFT.COM/EN-US/LIBRARY/BB490909 .aspx
eol ne signifie pas fin de ligne. Cela signifie tout après que la virgule soit un commentaire de fin de ligne. Y compris les virgules restantes.
EOL est donc vous pouvez analyser des fichiers comme des fichiers hôtes où; est utilisé comme caractère de commentaire, mais d'autres formats de fichiers utilisent @ comme un commentaire, etc. Toutes les choses entières sont pavées ensemble à partir de la cassette de crache et de conduite. C'est pourquoi PowerShell est la nouvelle hotness.
Jeez ouais, je souhaite que PowerShell était une option pour cette chose que je dois faire.
@OP, et pendant que vous appreniez à utiliser les scripts DOS Batch, vous pouvez également apprendre VBScript (ou PowerShell) également. Ce sont des alternatives et permettent de faciliter votre script lot, en particulier lorsqu'il s'agit de tâches plus complexes.
C:\test>cscript //nologo mysplit.vbs 1,2,3,4 1 2 3 4
Les deux bonnes options, mais malheureusement, ils auraient besoin d'approbation et nous sommes sur une date limite; Une fois que la date limite est terminée, je prévois de saisir des fichiers BAT de fossé à la hâte et d'aller à Nant pour cette tâche.