标题: [文本处理] [已解决]批处理如何提取电脑中的所有TXT文本的标题? [打印本页]
作者: smallbear 时间: 2010-5-19 12:28 标题: [已解决]批处理如何提取电脑中的所有TXT文本的标题?
有N多TXT文档,分散于电脑的各个文件夹中,如何用批处理文档找到这些文本文档,提取文本文档的第一行,并输入出到一个文本文档中?
谢谢
[ 本帖最后由 smallbear 于 2010-5-19 22:10 编辑 ]
作者: hanyeguxing 时间: 2010-5-19 12:41
原帖由 smallbear 于 2010-5-19 12:28 发表
有N多TXT文档,分散于电脑的各个文件夹中,如何用批处理文档找到这些文本文档,提取文本文档的第一行,并输入出到一个文本文档中?
谢谢
如何分散于电脑的各个文件夹中?
1,是否搜索不同分区
2,是否包含隐藏或系统属性的目录和文本?
3,文本的编码都是ANSI?
作者: Batcher 时间: 2010-5-19 13:10
- sed -n "1p;q" "C:\test\*.txt" >>C:\result.log
复制代码
作者: smallbear 时间: 2010-5-19 16:22
跨分区搜索,不搜索隐藏属性和系统属性的文档。至于编码,我不懂,应该就是我们常用的吧。谢谢
作者: hanyeguxing 时间: 2010-5-19 18:04
set r=D:\Out.txt设置输出文件- @echo off
- set r=D:\Out.txt
- for /f "tokens=3 delims=," %%i in ('WMIC Path Win32_LogicalDisk Get Description^,DeviceID /format:csv^|find /i "固定"') do (for /f "delims=" %%j in ('dir "%%i\*.txt" /b/s') do (
- setlocal enabledelayedexpansion
- if not "%%j"=="%r%" set/p p=<"%%j"&echo.!p!
- Endlocal))>>"%r%"
复制代码
作者: smallbear 时间: 2010-5-19 20:49 标题: 标题
非常感谢楼上的兄弟,能否简单介绍一下该批处理的思路?另外如果我要搜索固定路径下的文本文档应该如何实现?例如在D:\111文件夹与D:\222文件夹下搜索。能不能用这种方式:我新建一个文本文档,名为1.txt,然后把我需要搜索的文件夹路径输入到里面,每个占一行,接着用批处理命令来按照该文件中的路径来搜索,并将查到的文本文档的第一行输出。 谢谢!
作者: hanyeguxing 时间: 2010-5-19 21:28
- @echo off
- for /f "delims=" %%i in ('more +6^<"%~fs0"') do (for %%j in ("%%i\*.txt") do (
- setlocal enabledelayedexpansion
- if not "%%j"=="D:\Out.txt" set/p p=<"%%j"&echo.!p!
- Endlocal))>>"D:\Out.txt"
- exit
- ;下面为目录绝对路径
- D:\rec\1
- D:\rec\2
- D:\rec\3
复制代码
D:\Out.txt输出文件
D:\In.txt为路径文本,要求每行都是完整目录路径- @echo off
- set "D:\Out.txt=="
- set "D:\In.txt=="
- for /f "usebackq delims=" %%i in ("D:\In.txt") do (for %%j in ("%%i\*.txt") do (
- setlocal enabledelayedexpansion
- if not defined %%j set/p p=<"%%j"&echo.!p!
- Endlocal))>>"D:\Out.txt"
复制代码
[ 本帖最后由 hanyeguxing 于 2010-5-19 22:03 编辑 ]
作者: sgaizxt001 时间: 2010-5-19 21:37
如果把echo.!p!放到外面来执行就可以不用set/p了
作者: smallbear 时间: 2010-5-19 22:11
非常感谢楼上的几位朋友.
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |