华域联盟 DOS/BAT 批处理 保留空行替换字符串

批处理 保留空行替换字符串

复制代码 代码如下:

@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%"

本文由 华域联盟 原创撰写:华域联盟 » 批处理 保留空行替换字符串

转载请保留出处和原文链接:https://www.cnhackhy.com/16238.htm

本文来自网络,不代表华域联盟立场,转载请注明出处。

作者: sterben

发表回复

联系我们

联系我们

2551209778

在线咨询: QQ交谈

邮箱: [email protected]

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部