不能直接将字符串做为for的分隔符(delims)

@echo off
set "var=333ps555psssword=123 456 789"
for /f "tokens=1* delims=psssword" %%i in ("%var%") do set str=%%i&set num=%%j
echo %str%   %num%
pause

上边例子的结果为"333   555psssword=123 456 789",而非预想中的"333ps555   =123 456 789",其主要原因是不能将字符串做为的分隔符,上述例子中的分隔符实际上为p,s,w,o,r,d!但只需稍加修改即可实现我们要的效果:

@echo off
set "var=333ps555psssword=123 456 789"
set "var=%var:psssword=_%"
for /f "tokens=1* delims=_" %%a in ("%var%") do set str=%%a&set num=%%b
echo str=%str%
echo num=%num%
pause


上一篇: 启用变量延迟的得失
下一篇: defined的用法
文章来自: cn-dos.net
引用通告: 查看所有引用 | 我要引用此文章
Tags:
最新日志:
评论: 0 | 引用: 0 | 查看次数: 4782
发表评论
登录后再发表评论!