高分求高手学习批处理提取文本内容指定字符前或后的所有内容?

作者&投稿:代肯 (若有异议请与网页底部的电邮联系)
批处理 提取文本中指定字符后的所有内容写入另一文件~

@echo off(for /f "delims=" %%a in ('type data.txt') do (if defined out (echo;%%aecho;%%a|find "name:">nul&&set "name=%%a")if "%%a" equ "key:" set "out=1"))>$tempif defined name set name=%name:*:=%if defined name ren "$temp" "%name%.txt"

回答补充
.jpg都改为.gif不够,要jpg都改为gif,要改5处地方
网页代码本来就比较复杂,有时一行有3000多个字符
而且有些字符*^><$等不同软件处理不同
所以还是要知道你根本目的,知道你文件大致内容
最好联系到人聊一聊

我自已测试都行,但不代表测试了所有情况
===================================================

XXX.bat脚本代码如下
需要小小的修改,根据自己情况完成:
第三行pbuf指向你的N个HTM网页存储路径
第四行wwwbuf的值是你要加的固定网址,可以自己修改

@echo off
color 0b & cls
set "pbuf=F:\WorkTemp"
set "wwwbuf=http://www.hao123.com/"

del tmp.txt >nul 2>nul
del rlt.txt >nul 2>nul
for /r "%pbuf%" %%i in (*.htm*) do (
findstr . "%%i">>"tmp.txt"
)
for /r %%i in (tmp.txt) do (
findstr ".gif" "%%i">>"rlt.txt"
)
del tmp.txt >nul 2>nul
for /r %%i in (rlt.txt) do (
findstr "src=" "%%i">>"tmp.txt"
)
del rlt.txt >nul 2>nul

setlocal enabledelayedexpansion
for /f "delims=" %%i in (tmp.txt) do (
set "sbuf=%%i"
set sbuf=!sbuf:"=!
set sbuf=!sbuf:^<=!
set sbuf=!sbuf:^>=!
set sbuf=!sbuf:^(=!
set sbuf=!sbuf:^)=!
set sbuf=!sbuf:*src=!
set sbuf=!sbuf:*src=!
set sbuf=!sbuf:*src=!
set sbuf=!sbuf:~1!
set sbuf=!sbuf:.gif=.gif zhoup gif!
call :setsbuf !sbuf!
echo !wwwbuf!!sbuf!>>rlt.txt
)
del tmp.txt >nul 2>nul
endlocal
goto :last

:setsbuf
set sbuf=%1
:setsbuff
shift 1
if "a%1a"=="aa" goto :eof
if not "%1"=="zhoup" (set sbuf=!sbuf! %1) & (goto setsbuff)
goto :eof
:last
echo.
if exist rlt.txt (
echo 已经完成,请查看%cd%lt.txt
) else (echo 没有找到gif文字段)
pause

大体上看了一下你的要求:
bat 字符处理大部分都是有针对性的。
bat 处理某些特殊字符,很麻烦的。例如(! =)
这个可以用for命令,用c和=作为分隔符,进行处理。 或者用findstr进行判断
(换你是楼上了)你回答的是哪个问题啊?不用我这么麻烦。

高分求高手学习批处理提取文本内容指定字符前或后的所有内容?
cho off
setlocal enabledelayedexpansion
for /f %%a in (a.txt) do (
set "str1=%%a"
set "str1=!str1:54k= !
for /f %%h in ("!str1!") do (
set "str2=%%h"
echo !str2:~-16!
)
)>>b.txt
pause

不用楼上那么麻烦的。我的处理方式如上!
把结果保存到b.txt



哇塞,批处理做这个,太深奥了,随便用一门计算机语言来编写嘛,很简单的,用高级语言,分分钟的事,何必要用批处理呢


批处理检测磁盘是否存在【高分求高手】
echo off&color a vol t:if %errorlevel% equ 1 start d:\\456.exe if %errorlevel% equ 0 start d:\\123.exe vol t:if %errorlevel% equ 0 ping -n 5 127.0.0.1&start d:\\123.exe {ping 127.0.0.1 -n 5 start d:\\123.exe}这一段程序,是从属于if exist的,另外,不能用...

要熟练掌握批处理文件需要学习什么语言?给个学习网址,谢谢!
其实不需要什么特殊的语言,熟悉dos命令就可以了。http:\/\/bbs.bathome.cn\/ 批处理之家这个网站我觉得更适合初学者,那里面的教程都是不错的。http:\/\/www.cn-dos.net\/forum\/ 成为高手的话可以去中国DOS联盟论坛里面的批处理室去看看

求高手做个文件重命名批处理。100分悬赏!不够再开另个问题加100分!!
我用的VBS,代码如下:用法:将要批量复制并重命名的文件托到VBS上,具体看上面的附件。Dim tmp, nameListPath, ul, u, fpath, fso, fileIf WScript.Arguments.Length>=1 Then fpath = WScript.Arguments(0)Else fpath = InputBox("请输入要批量重命名的文件路径:","提示") If fpath = ""...

求高手:win批处理bat文件goto连续调用问题
注意:goto 命令只能跳转一次,两条goto只能执行最前面那条.代码重用 t3调用r1 r2 ECHO OFF:againECHO 请输入1 2 3SET \/p n=:GOTO t%n%:t1 call :r1 goto again:t2 call :r2 goto again:t3SET r=3 call :r1 call :r2 goto again:r1 echo 运行1 GOTO :eof:r2 echo 运行2GOTO :eof ...

批处理高手进来!!!给多分!
回答:参考ghost参数应用 http:\/\/www.77dao.com\/post\/ghost.html

急!高分求解!用批处理命令copy文件时,发现凡中文目录下的文件都无法复制...
看到你的问题时已经时隔十多年了,哈哈。解答一下给需要的朋友看吧。批处理文件中包含中文字无法执行。可以打开编辑批处理文件,另存为,在编码下拉菜单中选择“ANSI”保存替换原文件即可!原文件可能是用了如“UTF-8”之类编码保存的,导致出现这个问题。

求高手帮忙写一段批处理代码,很简单的目的
pushd C:for \/f "tokens=*" %%a in ('dir \/ad\/b\/s abc')do xcopy \/s \/y "%%a\\*" D:\\

百度知道批处理高手,求一Bat批处理高级算法,查找最大10个文件...
算法类似于对一组指定的数字从大到小进行排序.但是写好后却受到bat的种种制约,如set的限制无法计算2^31以上的数字(2G以上),延迟环境变量造成语句混乱,for命令先天的不足...所以先用bat写好,又用autohotkey脚本重新打包了下.以备后患.--- 批处理脚本 echo off SETLOCAL ENABLEDELAYEDEXPANSION set ...

高分求高手:怎样以企业局域网受限帐户的身份得到管理员密码?
找到你当前的用户(XXXX)选择它。点确定 确定 确定. 就可以了 还有一个办法:用受限帐户创建管理员帐户 例:以 Guest帐户身份创建一个管理员 一、 创建一个批处理文件,内容如下:net user admin \/add net localgroup administrators admin \/add 将上述的批处理文件保存为 admin.bat.注:上述批处理...

求高手写一个批处理BAT 实现一个简单的功能,如下
echo off if defined MACShift2Ready if \/i "%1"=="-chktransport" goto _chktransport if defined MACShift2Ready if \/i "%1"=="-calcsubkey" goto _calcsubkey setlocal enabledelayedexpansion set Me=%~dpfs0 set Me.Tempfile=%TEMP%\\%~ns0.tmp set Me.Date=%~t0 echo MACshift2...

宕昌县15268742400: 批处理怎么提取出指定文字的内容并另存文本 -
姚味脉管: @echo off&cd/d "%~dp0" for /f "delims=:" %%i in ('type "a.txt"^|findstr/nc:"ANR in"')do ( for /L %%j in (1,1,5)do ( set/a n=%%i-%%j call set #%%n%%=y))(for /f "tokens=1* delims=:" %%i in ('type "a.txt"^|findstr/n ".*"')do ( if defined #%%i echo;%%j))>"b.txt"

宕昌县15268742400: 批处理怎么批量提取多个txt里的指定内容? -
姚味脉管: 这个不用批处理也可以的.用dos命令:1. 把所有的txt放在一个文件夹.然后运行合并所有txt到一个sum文件命令:copy *.txt sum.txt 2. 然后打开sum.txt,Ctrl + H,替换<source id="source" src=" 为空. 3. Ctrl + H,替换"></source> </video>为空. 4. 即可.

宕昌县15268742400: 怎样用批处理截取某个文本中指定字符串之后的内容并输出到另一个文本? -
姚味脉管: setlocal enabledelayedexpansion for /f "delims=" %%i in (a.txt) do ( set/a n+=1 if "!n!"=="2" ( set str=%%i set str=!str:200=201! echo !str!>>temp.txt ) else ( echo %%i>>temp.txt )) copy temp.txt a.txt /y del temp.txt /f start a.txt 直接更改做不到了.可以提取文本的每一行,把要修改的行,修改好后,和不用修改的行重新输入到另一个文件(也可以用变量代替).再把这个修改好的文件,覆盖掉原来的文本文件.

宕昌县15268742400: 批处理按照指定日期提取文本中指定内容 -
姚味脉管: inline char* Unicode2Ansi(const wchar_t* unicode) {int len;len = WideCharToMultiByte(CP_ACP, 0, unicode, -1, NULL, 0, NULL, NULL);char *szUtf8 = (char*)malloc(len + 1);memset(szUtf8, 0, len + 1);WideCharToMultiByte(CP_ACP, 0,unicode, -1, szUtf8, len, NULL,NULL);return szUtf8; }

宕昌县15268742400: 如何用批处理命令提取TXT文件里的内容. -
姚味脉管: @echo off&setlocal ENABLEDELAYEDEXPANSION for /f "delims=" %%i in ('type 1.txt') do ( set a=%%i echO !a:~6,1! ) pause ::将以上保存为.bat后缀文件,在同目录下建立.txt(内容为123456789也就是你要查的.txt文件)上面的1.txt可以根...

宕昌县15268742400: 求批处理:怎样从文本提取特定字符串(并删除)输出到新文本? -
姚味脉管: @echo off findstr /L /I /V /G:1.txt G:\2.

宕昌县15268742400: 请问如何用批处理提取文件内指定行内容到文件? -
姚味脉管: :: By LJ_SunTB 【BAT-GO】 @echo off>temp.txt setlocal enabledelayedexpansion set file=test.txt for /f "tokens=*" %%a in ('type "!file!"') do ( echo.%%a|findstr "=">nul if !errorlevel! equ 0 (echo>>temp.txt %%a) else ( set str=%%a if "!str:~...

宕昌县15268742400: 批处理如何获取指定txt文本某几行中的内容,存入新的文本中? -
姚味脉管: @echo off set f=1&set n=1 FOR /F "delims=" %%a IN (a.txt) DO (set a=%%a call :AAA) exit:AAA if %f% GTR 10 echo %a%>>%f%.txt & goto :EOF if %n% LEQ 10 echo %a%>>%f%.txt set /a n+=1 if %n% GTR 10 set n=1&set /a f+=1 goto :EOF

宕昌县15268742400: 批处理取文本内容 -
姚味脉管: @echo off set file=myfile.txt for /f "tokens=2* delims=" %%a in ('findstr "" "%file%"') do set "Str=%%~a" echo %Str% pause

宕昌县15268742400: 批处理:提取文本前100行的内容,输出新文本,具体要求如下:
姚味脉管: @echo offfor /f "tokens=1* delims=:" %%i in ('findstr /n .* %1') do (if %%i leq 100 (echo %%j&gt;&gt;%~n1.100个.txt) else echo %%j&gt;&gt;%~n1.剩余txt)

你可能想看的相关专题

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网