.bat 替换文件中的特殊字符串

(1<<3)|(1<<7)|(1<<20)|(1<<38)|(1<<40)|(1<<41)|(1<<42)|(1<<43)替换为(1<<3)|(1<<7)

@echo off&setlocal enabledelayedexpansion
cd /d "%~dp0"
set "strold=(1<<3)|(1<<7)|(1<<20)|(1<<38)|(1<<40)|(1<<41)|(1<<42)|(1<<43)"
set "strnew=(1<<3)|(1<<7)"
(for /f "tokens=1* delims=:" %%a in ('findstr /n .* 1.txt') do (
   if "%%b" == "" (echo.) else (
       set "var=%%b"
       set "var=!var:%strold%=%strnew%!"
       echo,!var!
       )
))>#
move /y # 1.txt

以bat目录中的目标文件1.txt为例

温馨提示:答案为网友推荐,仅供参考