某个文件夹里的多个文档,如何删除和添加这些文档里面的指定字符串。以及删除含有某字符文档。

1某个文件内的一些文档txt的首尾和其它位置都被插入一串相同的字符串,字符串有好几段,怎么把这些字符串去掉,字符串中有特殊符号。比如A文档有山很高?>,B文档也有山很高?>,C也有山很高?>,怎么去掉山很高?>,急求,困扰了我好几天。
注:是文档内容含有字符串。删除的是这些字符串。
2多个文档含有某串字符,怎么在一个特定的文件夹内查询这串字符,如果有,就将其删除。
如:D文档内有“天气”,H也有“天气”,G没有“天气”,把有“天气”的文档删除。
注:文档内容有天气,不是文档名。删除的是含有这串字符串的文档。
3批量在多个文档的开头和结尾加一串相同的字符串,字符串有好几行,包括特殊符号。
这些文档添加的字符串全部相同。
3个问题,辛苦大神了。

第一个问题的代码:

@echo off & title 批量删除文本中指定字符串 By 依梦琴瑶
cd /d "%~dp0"

::设置要删除的字符串,字符串和变量名需用英文双引号括引起来,这样可以处理特殊字符
set "Str=山很高?>"


call :CreatVBS
for /f "delims=" %%a in ('dir /a-d/b *.txt') do (
    ReplaceString.vbs "%%~a" "%Str%"
)
del /f /q ReplaceString.vbs
pause
exit

:CreatVBS
(echo Set Fso=Wscript.CreateObject("Scripting.FileSystemObject"^)
echo Set sFile=Fso.OpenTextFile("" ^& WScript.Arguments(0^) ^& ""^)
echo ReStr=Replace(sFile.ReadAll,"" ^& WScript.Arguments(1^) ^& "", ""^)
echo sFile.Close
echo Set nFile=Fso.OpenTextFile("" ^& WScript.Arguments(0^) ^& "",2,True^)
echo nFile.Write ReStr
echo Wscript.quit)>ReplaceString.vbs
goto :eof

第二个问题的代码:

@echo off & title 批量删除带有指定字符串的文件 By 依梦琴瑶
cd /d "%~dp0"

::设置要搜索的字符串
set Str=天气

for %%a in (*.txt) do (
    find /i "%Str%" "%%~a" >nul 2>nul && del /f /q "%%~a"
)
pause
exit

第三个问题的代码:

@echo off & title 批给文本首尾添加字符串 By 依梦琴瑶
cd /d "%~dp0"

call :CreatTextFile

for /f %%a in ('dir /a-d/b *.txt') do (
    (more +1 "%TextHead%"
    type "%%~a"
    echo,
    more +1 "%TextEnd%")>NewFile.tmp
    move /y NewFile.tmp "%%~a"
)
pause
exit

:CreatTextFile
set "TextHead=%tmp%\TextHead.txt"
set "TextEnd=%tmp%\TextEnd.txt"
echo 请根据提示输入内容
(echo [请在此行提示下方写上要添加到文首的字符串,完成后请直接保存并关闭此文本窗口])>"%TextHead%"
(echo [请在此行提示下方写上要添加到文末的字符串,完成后请直接保存并关闭此文本窗口])>"%TextEnd%"
start "" /wait "%TextHead%"
echo,>>"%TextHead%"
start "" /wait "%TextEnd%"
cls
goto :eof

来自:求助得到的回答
温馨提示:答案为网友推荐,仅供参考
相似回答