Board logo

标题: [文本处理] 批处理如何用|接前一个命令的输出? [打印本页]

作者: freesoft00    时间: 2015-11-3 16:38     标题: 批处理如何用|接前一个命令的输出?

一个目录d:\222中有很多txt文本,
我想type其内容。应该如何写,这样下面这个肯定是不对的:
  1. dir /b /s d:\222\*.txt|type
复制代码

作者: freesoft00    时间: 2015-11-3 16:49

第二个问题。在不同的目录有不同的txt文件(这些文件都在d:\222目录,只是在不同的子目录中),
搜索查找文本中有filename字符的文本,
其内容如下类似:
filename=11.exe
filename=33.exe
...
一个txt文件中只有一个这样的字串行,是单独的一行,但是不见得是顶头开始,也许前面有空格。。
这些11.exe  33.exe都放在d:\sub目录中,
如果搜索到一个文本行有11.exe,就把d:\sub目录中的11.exe剪贴到搜索到的文本所在的目录中,
这样把所有搜索到的exe都复制到对于的txt文本所在的目录中。
作者: flyinnet9    时间: 2015-11-3 17:09

  1. @echo off
  2. for /f %%a in ('dir /a-d /s /b d:\222\*.txt') do (
  3.   for /f "tokens=1,2 delims== " %%b in (%%a) do (
  4.     if "%%b"=="filename" copy d:\sub\%%c "%%~dpa"
  5.   )
  6. )
复制代码





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