批处理怎么批量提取多个txt里的指定内容?

多个文本的指定内容提取并输出,如:
<source id="source" src="upload/20200302/c4d1.mp4"></source> </video>
提取所有txt文本的upload/20200302/c4d1.mp4输出

这个不用批处理也可以的。用dos命令:

    把所有的txt放在一个文件夹。然后运行合并所有txt到一个sum文件命令:copy *.txt sum.txt

    然后打开sum.txt,Ctrl + H,替换<source id="source" src=" 为空。

    Ctrl + H,替换"></source> </video>为空。

    即可。

追问

内容并不只是还有其他内容

追答

合并到一个txt再截图帮你分析处理。

温馨提示:内容为网友见解,仅供参考
第1个回答  2020-03-05
不清楚你的实际文件/情况,仅以问题中的样例/说明为据
复制粘贴到记事本,另存为xx.bat,编码选ANSI,跟要处理的文件放一起运行<# :
cls
@echo off
rem 从多个txt文本文件里提取指定特征的字符串内容
set #=Any question&set @=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%@% %z%
cd /d "%~dp0"
powershell -NoProfile -ExecutionPolicy bypass "Invoke-Command -ScriptBlock ([ScriptBlock]::Create([IO.File]::ReadAllText('%~f0',[Text.Encoding]::Default))) -Args '%~dp0'"
echo;%#% +%$%%$%/%@% %z%
pause
exit
#>
$path=$args[0];$enc=[Text.Encoding]::UTF8;
$files=@(dir -liter $path|?{('.txt' -eq $_.Extension) -and ($_ -is [System.IO.FileInfo])});
for($i=0;$i -lt $files.length;$i++){
    $text=[IO.File]::ReadAllText($files[$i].FullName, $enc);
    $m=[regex]::matches($text,'<source [^>]*?src="([^"]+?)"');
    foreach($it in $m){
        write-host $it.groups[1].value;
    };
};

追问

提取不完整,有文本漏掉了·不知道怎么个情况

追答

不清楚你的实际文件,按运行后窗口中的提示联系我

本回答被提问者采纳
第2个回答  2020-03-04
写VB代码我会

批处理怎么批量提取多个txt里的指定内容?
这个不用批处理也可以的。用dos命令:把所有的txt放在一个文件夹。然后运行合并所有txt到一个sum文件命令:copy *.txt sum.txt 然后打开sum.txt,Ctrl + H,替换 为空。即可。

如何提取多个文件名中的一部分文件名
步骤1、新建一个文本文档(txt格式)步骤2、打开输入以下内容 “dir\/b>1111.xls”注意不要引号,然后点选另存为,“文件名”栏改为“提取文件名.bat”注意要去掉txt后缀,文件类型改为所有,即可。步骤3、复制到任何需要生成目录的文件夹 步骤4、双击运行 注意:喜欢生成文本文件的用“.txt”。笔者...

用批处理对TXT文件内容处理
Echo OffFor \/f "tokens=1,* delims=_" %%i in (a.txt) do (Echo %%iEcho %%i>>b.txtEcho %%j>>c.txt)Pause根据你提供的内容可以用_符号分割,分别提取前6位数字和后面的小说名.

如何利用bat批处理来批量提取文
要利用bat批处理批量提取文件名,首先,你需要新建一个txt文本文档。在桌面或其他文件夹内右键选择"新建",然后选择"文本文档",并打开它。接下来,复制以下代码到文本文件中:echo off for \/f "delims=" %%a in ('dir \/b\/a-d\/oN *.*') do echo %%a >> %指定文件夹%目录名.txt 将"指定...

如何用Excel VBA读取某一文件夹下批量TXT文本内的某行某列?
求批处理批量提取某一文件夹下所有文件内指定的字符 把压缩包解压后得到txt文件,然后可试试 文件批量处理百宝箱V8.0 主界面-更多功能-拓展界面-文本行处理-第39项功能,在待查找标记中输入:([1-9][0-9]{4,12}[!\\D](?!\\d))|(!1000)\\@(qq|QQ)\\.(|COM),单击执行即可。如何用matlab...

批处理提取同一目录下多个文本文件中的指定字符串的参数,并写入一个tx...
不清楚你的实际文件\/情况,仅以问题中的样例\/说明为据;以下代码复制粘贴到记事本,另存为xx.bat,编码选ANSI,跟要处理的文件放一起双击运行 <# :cls&echo off&mode con lines=5000 rem 从多个txt文本文件里提取多个指定特征的字符串内容 set #=Any question&set @=WX&set $=Q&set\/az=0x53b...

批处理批量提取文本指定行
echo off del new_files.txt >nul 2>nul for \/f "tokens=*" %%i in ('dir \/a-d \/b *.txt') do (for \/f "skip=4 tokens=*" %%j in (%%i) do (echo %%j))>>new_files.txt start "" "new_files.txt"在文本文档所在的目录运行,不处理子文件夹(重点你没有要求)...

如何批处理提取文本中的指定行
%y: =% lss 10000 (echo %y%1>>.\\a4.txt & goto LOOP)if %y: =% lss 100000 (echo %y%1>>.\\a5.txt & goto LOOP)if %y: =% lss 1000000 (echo %y%1>>.\\a6.txt & goto LOOP):ENDecho 完成 按任意键退出...del .\\temp.txtecho 不懂追问,满意给采纳谢谢pause 1>nul ...

高手进!求bat批处理,多TXT文本文件提取、合并、重命名?详细见问题补 ...
注意先备份文件,问题一的批处理:echo offsetlocal enabledelayedexpansionset \/a m=5for %%a in (*.txt) do (for \/f "usebackq delims=" %%i in ("%%~a") do (set \/a n+=1if !n! leq !m! (echo %%i>>"新的TXT.txt") else (echo %%i>>"%%~na.new"))copy "%%~na.new" ...

如何利用bat批处理来批量提取文件名
将批处理文件复制或者剪切到要提取文件名的文件夹内(如小编的“【心理FM】【0900期-0999期】”文件夹内),双击或者右键打开bat批处理文件 这时候文件夹内就会生成一个“MP3目录”的文档(前面取的名字,如果需要改变可以将拓展名改回txt修改后再改成bat即可),双击打开,里面记录的便是我们需要的文件...

相似回答