Board logo

标题: [特效代码] 把for人性化一点 但是我下面这个代码有错误找高手指点 [打印本页]

作者: 咒夜坠    时间: 2012-6-11 15:37     标题: 把for人性化一点 但是我下面这个代码有错误找高手指点

本帖最后由 咒夜坠 于 2012-6-11 16:04 编辑
  1. echo 下面这个是截取那一段
  2. set /p tokens_=
  3. set for_tokens=tokens^=%tokens_%
  4. if %for_tokens%==tokens^= set for_tokens=
  5. pause
  6. echo 下面这个是用什么作为分隔符号
  7. set /p delims_=
  8. set for_delims=delims^=%delims_%
  9. if %for_delims%==delims^= set for_delims=
  10. echo 下面这一句是跳过带指定符号开头的行
  11. set /p eol_=
  12. set for_eol=eol^=%eol_%
  13. if %for_eol%==eol^= set for_eol=
  14. echo 下面这个是循环中的文本
  15. set txt=原始终端记录.txt
  16. echo 下面这个是do后面的命令
  17. set do=echo %%i^>^>2.txt
  18. set for_f=for /f "%for_eol%%for_delims%%for_tokens%" %%i in (%txt%) do %do%
  19. pause
  20. %for_f%
  21. pause
复制代码
找到问题了
更正后代码如下
  1. setlocal enabledelayedexpansion
  2. echo 下面这个是截取那一段
  3. set /p tokens_=
  4. set for_tokens=tokens^=!tokens_!
  5. if !for_tokens!==tokens^= set for_tokens=
  6. pause
  7. echo 下面这个是用什么作为分隔符号
  8. set /p delims_=
  9. set for_delims=delims^=!delims_!
  10. if !for_delims!==delims^= set for_delims=
  11. echo 下面这一句是跳过带指定符号开头的行
  12. set /p eol_=
  13. set for_eol=eol^=!eol_!
  14. if !for_eol!==eol^= set for_eol=
  15. echo 下面这个是循环中的文本
  16. set txt=原始终端记录.txt
  17. echo 下面这个是do后面的命令
  18. set do=echo %%i^>^>2.txt
  19. set for_f=for /f "!for_eol!!for_delims!!for_tokens!" %%i in (!txt!) do !do!
  20. pause
  21. %for_f%
  22. pause
复制代码

作者: forfiles    时间: 2012-6-11 15:59

哪句有错误?报错信息呢?




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2