默认情况下,单纯使用delims而不用tokens时,只显示第一个分隔符前的内容,第一个分隔符和第一个分隔符后面的内容将被忽略。 代码5:定义多个分隔符 @echo off for /f "delims=、-."%%i in (歌曲列表.txt) do echo %%i pause>nul 运行结果: 序号 1 2 3 4 5 讲解: 原因是,当定义顿号“、”、减号“-”...
所以当内容被分为3部分过后,tokens的作用就是根据他们各自的序号来选择取出那一部分的字符串用来输出,所以在刚才示例中tokens的值为2,因此表示的就是取出被分割出来的字符串里面的第二部分内容 所以如果想要取出第2、3部分的话,代码如下: for/f"tokens=1,3 delims=*."%%ain(tmplist.txt)doecho%%a%%b **不...
首先,最好把delims=,放在参数列的最后面,不然多个空格,系统会认为空格也是delims。再有你要想要5节以后的剩余显示,在“tokens”最后面要加上一“*”,最后再加一个变量 代码改为 for /f "tokens=1,3-4,* delims=,*" %i in (test.txt) do echo %i %j%k %l >> result.txt 这样就...
我还不清楚系统的日期格式是怎样的呢,之前可以说明之前日期格式是以-分隔的,我猜测你把 for /f 后的引号及内容去掉就可以了,即去掉"tokens=1-4 delims=/ " 这样就默认取的日期里第一个空格之前内容,如果希望取值里的/符换为-则在下方再插入一行set date=%date:/=- 另外建议这里的自定义变量...
bat,与a.txt放在一个文件夹下,然后双击运行即可。去掉第5行的新文件叫new.txt。echo off setlocal enabledelayedexpansion set n=1 if exist new.txt @del new.txt for /f "delims=" %%i in (a.txt) do (if not !n!==5 @echo %%i >>new.txt set /a n=n+1 )
tokens=1,2,4,5,6... ,意思就是从user.csv文件中的取第1列、2列、4列、5列、6列... delims=, 意思就是“,”为分隔符; %a 就是以user.csv文件中的第1列为循环变量; do 要执行的@echo %a %b %c %d %e %f (Do 语句的内容), %a就表示第一列,%b就表示第二列,一直往后推... 举例如下...
其实您的这段批处理是可以用的,只是不是所有机器通用。有些机器的%date%的格式本身就是2015-12-29所以建议先稍微改一点:for /f "tokens=1,2,3 delims=/-" %%a in……但是,我没看懂您要什么?能否再描述得清楚点?您再继续追问吧。
for /f "tokens=5 delims= " %%a in (1.txt) do ( echo %%a ) :: 第二个例子: :: when .the. first. i .saw .you,i was for /f "tokens=6 delims=., " %%a in (1.txt) do ( echo %%a ) :: 第三个例子: :: 1 2 3 4 5 6 7 8 9 10 @...
在"user.csv"这个文件里面,每行都以“,”为分隔符,形成1、2、3、4、5、6...列,并输出前面4列(@echo %a %b %c %d )。这样每行都输出前面4列。例如"user.csv"的内容是:1,2,3,4,5,6,7,8 0,0,1,1,3,3,3 2,2,3,3,4,4,4,4,4 那结果就是:1 2 3 4 0 0 1 ...
for /f "tokens=1,2,3,4,5,6 delims=," %a in (user.csv) do @echo %a %b %c %d 谁帮我翻译下这个语句