求批处理批量删除txt行首和行尾Tab,行中的TAB替换成双空格。
求批处理批量删除txt行首和行尾Tab,行中的TAB替换成双空格。已有一段批处理代码,把\=╲/=╱|=‖:=:<=《>=》?=?*=﹡TAB是只处理了行首的。现需要把行...
求批处理批量删除txt行首和行尾Tab,行中的TAB替换成双空格。
已有一段批处理代码,把
\=╲
/= ╱
|=‖
:=:
<=《
>=》
?=?
*=﹡
TAB是只处理了行首的。现需要把行尾的TAB也删除,在行中的TAB(可见字符之间)换成双空格。
delims= :▲这里的几个空格是论坛bug,实际是一个TAB符。
@echo off
set "fs=%*"
if "%fs%"=="" set/p fs=用鼠标拖入要处理的文件(直接回车取当前文件夹所有txt文件):
if "%fs%"=="" for /f "delims=" %%i in ('dir/b *.txt')do call set fs=%%fs%% "%%~fi"
for %%i in (%fs%)do (
cd/d "%%~dpi"
(for /f "tokens=1* delims= :" %%a in ('findstr/n .* "%%~nxi"')do (
set "h=y%%b"
setlocal enabledelayedexpansion
set "h=!h:\=╲!"
set "h=!h:/=╱!"
set "h=!h:|=‖!"
set "h=!h::=:!"
set "h=!h:<=《!"
set "h=!h:>=》!"
set "h=!h:?=?!"
set n=1&set n.=2&call :yky
echo.!h:~1!
endlocal))>temp.txt
move temp.txt "%%~nxi"
)
pause
goto :eof
:yky
if "!h:~%n%!"=="" goto :eof
if "!h:~%n%,1!"=="*" (
set h=!h:~,%n%!﹡!h:~%n.%!)
set/a n+=1,n.+=1
goto :yky 展开
已有一段批处理代码,把
\=╲
/= ╱
|=‖
:=:
<=《
>=》
?=?
*=﹡
TAB是只处理了行首的。现需要把行尾的TAB也删除,在行中的TAB(可见字符之间)换成双空格。
delims= :▲这里的几个空格是论坛bug,实际是一个TAB符。
@echo off
set "fs=%*"
if "%fs%"=="" set/p fs=用鼠标拖入要处理的文件(直接回车取当前文件夹所有txt文件):
if "%fs%"=="" for /f "delims=" %%i in ('dir/b *.txt')do call set fs=%%fs%% "%%~fi"
for %%i in (%fs%)do (
cd/d "%%~dpi"
(for /f "tokens=1* delims= :" %%a in ('findstr/n .* "%%~nxi"')do (
set "h=y%%b"
setlocal enabledelayedexpansion
set "h=!h:\=╲!"
set "h=!h:/=╱!"
set "h=!h:|=‖!"
set "h=!h::=:!"
set "h=!h:<=《!"
set "h=!h:>=》!"
set "h=!h:?=?!"
set n=1&set n.=2&call :yky
echo.!h:~1!
endlocal))>temp.txt
move temp.txt "%%~nxi"
)
pause
goto :eof
:yky
if "!h:~%n%!"=="" goto :eof
if "!h:~%n%,1!"=="*" (
set h=!h:~,%n%!﹡!h:~%n.%!)
set/a n+=1,n.+=1
goto :yky 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询