如何用批处理bat,删除文本中包含的文件名
比如下图,文件名是“七夕”,文本内容也包含“七夕”。要如何删除内容里的七夕??(这是个例子,要删除的是文件名而不是固定七夕两字)...
比如下图,文件名是“七夕”,文本内容也包含“七夕”。要如何删除内容里的七夕??(这是个例子,要删除的是文件名而不是固定七夕两字)
展开
3个回答
展开全部
这样,把下面的批处理存为del_fn_in_txt.bat
@echo off
setlocal enabledelayedexpansion
if exist _%1 del _%1
set fn=%1
set n=%~n1
for /f "delims=" %%i in (%fn%) do (
set ln=%%i
echo !ln:%n%=!>>_%fn%
)
该批处理只有1个问题,就是您的文本中如果含有英文!,则处理后会被全部滤掉。
这段批处理运行时要这样:del_fn_in_txt.bat 七夕.txt
然后结果会存在:_七夕.txt中。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
@echo off
powershell ^
dir *.txt^|%%{^
$text=[IO.File]::ReadAllText($_.FullName, [Text.Encoding]::Default);^
if($text.Contains($_.BaseName)){^
write-host $_.FullName;^
$text=$text.replace($_.BaseName,'');^
[IO.File]::WriteAllText($_.FullName, $text, [Text.Encoding]::Default);^
};^
}
pause
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用C#倒是很容易。需要么?要的话我写一个
追问
C#完全没接触过,不会用啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询