Board logo

标题: [文本处理] 根据文件名提取指定行的批处理为何提示echo处于关闭状态? [打印本页]

作者: lengguoyong    时间: 2011-7-11 11:37     标题: 根据文件名提取指定行的批处理为何提示echo处于关闭状态?

  1. @Echo off
  2. (For /F %%a In (name.txt) Do (
  3. For /F "tokens=1* delims=:" %%i In ('Findstr /n .* %%a.txt') Do Set "_%%i=%%j"
  4. Echo %_24%
  5. ))>date33.xls
  6. echo 处理完毕
  7. Pause>Nul
复制代码
name.txt中每行为各个文件的名称,代码原意是想根据name.txt中的文件名数据提取相应文件中第二十四行的数据到data.xls,
运行后,data.xls中的数据都是:echo 处于关闭状态。
请大侠门赐教啊
作者: ArdentMan    时间: 2011-7-11 11:50

  1. @Echo off
  2. (For /F %%a In (name.txt) Do (
  3.   For /F "tokens=1* delims=:" %%i In ('Findstr /n .* %%a.txt') Do If %%i EQU 24 Echo,%%j
  4. ))>date33.xls
  5. echo 处理完毕
  6. Pause>Nul
复制代码

作者: lengguoyong    时间: 2011-7-11 11:57

ArdentMan 大哥 ,输出结果怎么是一列%呢
作者: lengguoyong    时间: 2011-7-11 12:09

原来少了个J ,非常感谢ArdentMan 大哥,
作者: Hello123World    时间: 2011-7-11 15:38

  1. @Echo off
  2. (For /F %%a In (name.txt) Do (
  3. For /F "skip=23 delims=" %%i In ('Findstr  .* %%a.txt') Do (echo %%i
  4. goto 1)
  5. ))>date33.xls
  6. :1
  7. echo 处理完毕
  8. Pause>Nul
复制代码





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