标题: [文本处理] [已解决]求个文件内容输出的批处理? [打印本页]
作者: DDDYJQ1 时间: 2014-4-28 23:17 标题: [已解决]求个文件内容输出的批处理?
某文件夹下有许多子文件夹,每个子文件夹下有许多.TXT文件,每个.TXT文件只有几个汉字或字母,想把每个子文件夹的所有.TXT文件列表输出成一个文件,要"文件名 内容"格式输出,如下
文件名 文件内容
1101 是
12A19 三月
32BB1 朋不
先谢了
作者: CrLf 时间: 2014-4-28 23:23
本帖最后由 CrLf 于 2014-4-29 20:15 编辑
- @echo off
- for /f "delims=U" %%a in ('cmd /u /c echo 唉') do set "tab=%%a"
- (
- echo 文件名%tab%文件内容
- for /r %%a in (*.txt) do (
- for /f "delims=" %%b in (%%~sa) do echo %%~na%tab%%%b
- )
- )>结果.log
复制代码
作者: CrLf 时间: 2014-4-28 23:50
powershell 代码:- $a = "文件名`t文件内容"
- $b = Get-Content *.txt | ForEach-Object{ ($_.pschildname+"`t"+$_)}
- $a,$b|Set-Content -Encoding string 输出.txt
复制代码
对于 $_ 的值,在 select-object 应该怎么表达呢?只好用 foreach-object 了
作者: CrLf 时间: 2014-4-28 23:57
gawk 什么的最好用了:- @gawk "BEGIN{print \"文件名\t文件内容\"}{print FILENAME \"\t\" $0}" *.txt>结果.log
复制代码
作者: CrLf 时间: 2014-4-29 00:12
findstr + sed 也是极爽的:- @echo 文件名:文件内容^&findstr . *.txt | sed "s/:/\t/" >结果.log
复制代码
作者: DAIC 时间: 2014-4-29 08:06
回复 5# CrLf
不能处理子文件夹吧
作者: DDDYJQ1 时间: 2014-4-29 09:54
本帖最后由 DDDYJQ1 于 2014-4-29 20:20 编辑
试了一下2楼的,不能处理文件夹,结果
三月1101.txt:是32BB1三月1101.txt:是32BB1.TXT:朋不
我想要的是
1101 是
12A19 三月
32BB1 朋不
生成的文件名就以该子文件夹名,请改进一下
作者: CrLf 时间: 2014-4-29 20:19
回复 7# DDDYJQ1
看来你的文本没换行符...2 楼代码已修改,可遍历子目录
作者: DDDYJQ1 时间: 2014-4-29 20:25
可以了谢谢了
作者: DDDYJQ1 时间: 2014-4-30 15:53
本帖最后由 DDDYJQ1 于 2014-4-30 19:12 编辑
2楼的代码,今天再试一下变成了下面这种,请各位帮忙看一下
文件名Sb文件内容
是是
三月三月
朋不朋不
我要的是如下的格式
1101 是
12A19 三月
32BB1 朋不
前面的文件名没有了
先谢了
自己搞好了
@echo off
for /f "delims=U" %%a in ('cmd /u /c echo 唉') do set "tab=%%a"
(
echo 文件名%tab%文件内容
for /r %%a in (*.txt) do (
for /f "delims=" %%b in (%%~sa) do echo %%~na %%b
)
)>结果.log
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |