有网友碰到这样的问题“求bat批处理删除当前目录下所有txt文件中的数字内容”。小编为您整理了以下解决方案,希望对您有帮助:
解决方案1:
如果文件中内容都是你上面举例的格式:中文+数字+扩展名,可以这样:
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 enabledelayedexpansionfor %%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"
)
解决方案2:
如果均是像中文字体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"
)
解决方案3:
@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"
先回答的那位仁兄按这种方式去改吧,之前我也陷入和你一样的误区了。其实他要求的就是把所有的数字删除,而不去管他的格式。