批处理截取字符串

看着奢扣 2016-07-19 10:59:45
set aa=amy/werty
如何按斜杠分割字符串,得到amy和werty。最好不用for,多谢
...全文
738 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
huhiha 2016-08-15
  • 打赏
  • 举报
回复
为什么不想用for呢? 两种方法: 1.如果实现知道最多有几个分隔符,可以这样:
@echo off
set aa=aet/sdfrt/erth
for /f "delims=/ tokens=1-9" %%a in ("%aa%") do (
  echo %%a
  echo %%b
  echo %%c
)

pause>nul & exit
输出: aet sdfrt erth 2.如果不确定有几个分隔符:
@echo off
set aa=aet////sdfrt/erth/hm/gh/gh/h//h/h/h/h/
set /a i=1
set bloop=0

:loop
for /f "delims=/ tokens=%i%" %%a in ("%aa%") do (
	set bloop=1
	echo %i% %%a
)
set /a i+=1
if %bloop%==1 set "bloop=0" & goto :loop

echo end
pause>nul & exit
输出: 1 aet 2 sdfrt 3 erth 4 hm 5 gh 6 gh 7 h 8 h 9 h 10 h 11 h end
X-i-n 2016-07-19
  • 打赏
  • 举报
回复
批处理截取字符串只能用for 在处理一个复杂需求的时候,还是建议用vbs,更灵活,功能也更强

18,124

社区成员

发帖
与我相关
我的任务
社区描述
Windows客户端使用相关问题交流社区
社区管理员
  • Windows客户端使用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧