木子屋 Dnawo's BLOG

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

👤 dnawo 📅 2008-04-24 👁 5181 👍 0 💬 0 🔄 来源:cn-dos.net
@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

评论(0)

暂无评论。

验证码
评论需审核通过后显示
← 上一篇 启用变量延迟的得失 下一篇 → defined的用法