批处理字符分割

如何用批处理读取如下格式的文本文件(test.txt)中每一行字符串中的“文件完整路径”和“文件大小”,例如读取第一行的“c:\window\my file1.dat”和“345k”分别赋值给name和size。以每一行的第一个和最后一个空格为分隔,将一行拆分成三个独立的字符串?这样才是一个通用程序。

file c:\window\my file1.dat 345k
file c:\window\file1.dat 345k
file c:\project\file2.dat 1345k
file c:\my project\my file2.dat 1345k
file c:\program files\file2.dat 22k
file c:\program files\my data\file2.dat 22k
file c:\my music\file2.dat 23451k
file c:\project\my project\file.dat 23451k

@echo off
for /f "tokens=1* delims= " %%i in (a.txt) do (
  setlocal enabledelayedexpansion
  for %%a in (%%j) do set "size=%%a"
  call :lis %%j
  echo !name! !size!
  endlocal
)
pause&exit
:lis
  set "name=%*"
  if defined ok goto :eof
  if "%name:~-2,1%"==" " set ok=a
  call :lis %name:~0,-1%
goto :eof

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值