求bat批处理删除当前目录下所有txt文件中的数字内容
比如当前目录下有5个文本文件(1.txt,2.txt,3.txt,4.txt,5.txt)每个文件里的内容如:中文字体120.png中文字体121.png中文字体122....
比如当前目录下有5个文本文件(1.txt,2.txt,3.txt,4.txt,5.txt)
每个文件里的内容如:
中文字体120.png
中文字体121.png
中文字体122.png
中文字体123.png
中文字体124.png
中文字体125.png
中文字体126.png
中文字体127.png
中文字体128.png
中文字体129.png
怎么把其中的数字都删除掉? 展开
每个文件里的内容如:
中文字体120.png
中文字体121.png
中文字体122.png
中文字体123.png
中文字体124.png
中文字体125.png
中文字体126.png
中文字体127.png
中文字体128.png
中文字体129.png
怎么把其中的数字都删除掉? 展开
3个回答
展开全部
如果文件中内容都是你上面举例的格式:中文+数字+扩展名,可以这样:
@echo off
for %%i in (1 2 3 4 5) do (
(for /f "tokens=1* delims=0123456789" %%a in (%%i.txt) do echo %%a%%b)>tmp
move /y tmp "%%i.txt"
)
如果文件中内容有中文+数字混合的,如:中文12字体3.png,则:
@echo off&setlocal enabledelayedexpansion
for %%i in (1 2 3 4 5) do (
(for /f "delims=" %%a in (%%i.txt) do (
set "str=%%a"
for %%b in (0 1 2 3 4 5 6 7 8 9) do set "str=!str:%%b=!"
echo,!str!
))>tmp
move /y tmp "%%i.txt"
)
展开全部
@echo off
setlocal enabledelayedexpansion
set n=0 1 2 3 4 5 6 7 8 9
set /p name=请输入要修改的文本文件(无后缀,如1.txt 输入1即可):
(for /f %%a in (!name!.txt) do (
set a=%%a
for %%b in (%n%) do if not "!a!"=="" set a=!a:%%b=!
if not "!a!"=="" echo.!a!
))>"!name!_new.txt"
start "" "!name!_new.txt"
先回答的那位仁兄按这种方式去改吧,之前我也陷入和你一样的误区了。其实他要求的就是把所有的数字删除,而不去管他的格式。
setlocal enabledelayedexpansion
set n=0 1 2 3 4 5 6 7 8 9
set /p name=请输入要修改的文本文件(无后缀,如1.txt 输入1即可):
(for /f %%a in (!name!.txt) do (
set a=%%a
for %%b in (%n%) do if not "!a!"=="" set a=!a:%%b=!
if not "!a!"=="" echo.!a!
))>"!name!_new.txt"
start "" "!name!_new.txt"
先回答的那位仁兄按这种方式去改吧,之前我也陷入和你一样的误区了。其实他要求的就是把所有的数字删除,而不去管他的格式。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果均是像中文字体XXX.png这种排列方式
@echo off
setlocal enabledelayedexpansion
for /f %%i in ("1.txt" "2.txt" "3.txt" "4.txt" "5.txt") do (
set a=%%i
echo !a:0,4!!a:~-4! >>%%i.bak
del "%%i" && ren "%%i.bak" "%%i"
)
@echo off
setlocal enabledelayedexpansion
for /f %%i in ("1.txt" "2.txt" "3.txt" "4.txt" "5.txt") do (
set a=%%i
echo !a:0,4!!a:~-4! >>%%i.bak
del "%%i" && ren "%%i.bak" "%%i"
)
更多追问追答
追问
结果出错 如下说明:
1.txt改名为1.txt.bak
1.txt.bak的内容为a:0,4txt" 其它的文件无任何变化
还有文本文件里的内容不一定所有的都含有数字 可能也有的没有如:中文字体.png
追答
抱歉,一时疏忽。
@echo off
setlocal enabledelayedexpansion
for %%p in (1.txt 2.txt 3.txt 4.txt 5.txt) do (
for /f %%i in (%%p) do (
set a=%%i
if "!a:~0,4!"=="中文字体" (
if "!a:~4,9!" neq ".png" (
echo !a:~0,4!!a:~-4! >> %%p.bak
) else (
echo !a! >> %%p.bak
)
)
del %%p
ren %%p.bak %%p
)
pause
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |