[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
  1. @echo off&setlocal enableDelayedExpansion
  2. set "a=PlayerPropertyLog20110329.txt"
  3. (for /f "tokens=1* delims=," %%a in ('type "%a%"') do (
  4. set "b=%%b"
  5. for /l %%c in (0,1,8192) do if "!b:~%%c,1!"=="," set/a c+=1
  6. if not defined d set d=!c!
  7. set/a e=d-c,c=0
  8. if !e! neq 0 for /l %%c in (1,1,!e!) do set b=!b!,0
  9. echo;%%a,!b!
  10. ))>"输出_%a%"
复制代码
寒夜孤星:在没有说明的情况下,本人所有代码均运行在 XP SP3 下 (有问题请发贴,QQ临时会话已关闭)

TOP

3# hucuibai
  1. @echo off&setlocal enableDelayedExpansion
  2. set "a=PlayerPropertyLog20110329.txt"
  3. (for /f "tokens=1* delims=," %%a in ('type "%a%"') do (
  4.         set "b=%%b"&set c=0
  5.         for /l %%c in (0,1,8192) do if "!b:~%%c,1!"=="," set/a c+=1
  6.         if not defined d set d=!c!
  7.         if !c!==!d! echo;%%a,!b!
  8. ))>"输出_%a%"
复制代码
寒夜孤星:在没有说明的情况下,本人所有代码均运行在 XP SP3 下 (有问题请发贴,QQ临时会话已关闭)

TOP

本帖最后由 hanyeguxing 于 2011-4-11 12:09 编辑

if "!b:~%%c,1!"=="," set/a c+=1
如果不加:
"!b:~%%c,1!"中的逗号会被解释为整条语句的分隔符而不是变量截取的分隔符号
","这个逗号也将被解释为整条语句的分隔符而不是字符
测试下面的代码:if,1,==,1,echo,哈哈
这里的逗号就都被解释为分隔符,分隔 if 语句中的命令、参数
那么原来的命令就会被解释为:
if !b:~%%c1!== set/a c+=1
语法错误!~
寒夜孤星:在没有说明的情况下,本人所有代码均运行在 XP SP3 下 (有问题请发贴,QQ临时会话已关闭)

TOP

返回列表