新手求助。。。
bat吧
全部回复
仅看楼主
level 3
asd4411729 楼主
怎么把下面这个1.txt文件中的第二行取出来赋值给一个变量?我用
for /f "skip=1 tokens=* delims=" %i in (1.txt) do echo %i
什么都显示不了
2016年05月19日 09点05分 1
level 3
asd4411729 楼主
也没有报错
2016年05月19日 09点05分 2
level 3
asd4411729 楼主
没人么……
2016年05月19日 10点05分 3
level 7
分隔符没了tokens会有意义么?
2016年05月19日 10点05分 4
delims= 就是以行切割,为什么没意义?
2016年05月19日 10点05分
@zghwelcome 以行切割?等于号后面明明就是空格
2016年05月19日 14点05分
@g3vrbt8w 我只能说这里小学生太多
2016年05月19日 14点05分
level 12
具体情况具体分析,如果 1.txt 只有两行数据,如
1
2
那么可以取巧写,重复对变量赋值,var最后的值为1.txt最后一行非空行的值
@echo off
for /f "delims=" %%a in (1.txt) do set "var=%%a"
echo,%var%
pause
如果 1.txt 内的数据超过两行,如
1
2
3
那么就没法取巧写了
@echo off
for /f "skip=1 tokens=* delims=" %%a in (1.txt) do set "var=%%a"&goto :next
:next
echo,%var%
pause
其中的 tokens=* 可以省略,但是写出来可以显得意义表达明确
for 命令在中文系统中,与英文系统或日文系统中等使用稍有区别,
以上命令在某些系统中无法正常取值时,需要用到type 命令,如下
@echo off
for /f "skip=1 tokens=* delims=" %%a in ('type 1.txt') do set "var=%%a"&goto :next
:next
echo,%var%
pause
变量赋值时,尽量养成加双引号的习惯,用意自己琢磨。
2016年05月19日 14点05分 5
还有我帖子里的那行命令哪里有问题?为什么我运行出来什么都不显示?回车直接空一行然后回到等待用户输入命令状态....
2016年05月19日 16点05分
level 3
asd4411729 楼主
就像这样
2016年05月20日 00点05分 6
命令提示符下, %%a 应写为 %a
2016年05月20日 00点05分
@zghwelcome get,thank you
2016年05月20日 03点05分
1