批处理 保留空行替换字符串
批处理 保留空行替换字符串
发布时间:2016-12-28 来源:查字典编辑
摘要:复制代码代码如下:@echooff::保留空行替换字符串::当行首有冒号时会抛掉最开始的几个连续冒号(这个问题可以解决)::会忽略以分号开头...

复制代码 代码如下:

@echo off

:: 保留空行替换字符串

:: 当行首有冒号时会抛掉最开始的几个连续冒号(这个问题可以解决)

:: 会忽略以分号开头的行

:: 不能正确处理感叹号(因为启用了变量延迟)

::

::

set file=

set /p file= 请把要处理的文件拉到本窗口:

set "file=%file:"=%"

for %%i in ("%file%") do set "file=%%~fi"

echo.

set replaced=

set /p replaced= 请输入即将被替换的内容:

echo.

set all=

set /p all= 请输入替换字符串:

cd.>"%file%_tmp.txt"

setlocal enabledelayedexpansion

for /f "tokens=1* delims=:" %%i in ('findstr /n .* "%file%"') do (

set str=%%j

if not "!str!"=="" set "str=!str:%replaced%=%all%!"

>>"%file%_tmp.txt" echo.!str!

)

copy "%file%" "%file%_bak.txt" >nul 2>nul

move "%file%_tmp.txt" "%file%"

start "" "%file%"

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新DOS/BAT学习
热门DOS/BAT学习
脚本专栏子分类