
批處理怎么替換帶*字符的文本內容比如網站復制一些文章,一些內容被打成了**把他保存在C盤下的TXT文件夾,有多個TXT文件,把帶*內容替換成需要的,***異常替換為服務器異常操作**替換為操作系統這個無法替換帶**的內容,怎么弄?
nclick="copycode($('code0'));">復制代碼
- @echo off
- setlocal disabledelayedexpansion
- title 修改中...
- rem 設置
- set dir=C:TXT
- set replace_list=***異常=服務器異常 操作**=操作系統
- rem 輸出文件列表
- dir /s /b /a:-d-r %dir%*.txt >..tmp || goto exit
- rem 統計文件個數
- for /f %%i in (' find /c /v <..tmp ') do (
- set /a n_total = %%i, n_current = 0
- )
- rem 替換
- set s=
- for /f delims= %%i in (..tmp) do (
- set /a n_current += 1
- findstr /n .* %%i >..tmp
- (
- for /f delims= %%a in (..tmp) do (
- set str=%%a
- setlocal enabledelayedexpansion
- set /p =%s: =%!n_current! / %n_total% <nul >con
- set str=!str:*:=!
- for %%a in (%replace_list%) do (
- if defined str set str=!str:%%~a!
- )
- echo,!str!
- endlocal
- )
- ) >%%i
- )
- :exit
- title 完成
- del ..tmp 2>nul
- echo,
- echo 按任意鍵退出...
- pause >nul

