批處理指令碼, 讀取檔案並字串替換

2021-09-22 10:33:22 字數 947 閱讀 8916

2023年10月29日 18:40:44 星期六

場景:從foxmail裡匯出的檔案裡取出需要的內容, 放入到另乙個檔案中, 並替換相應的字元為分號, 方便excel直接開啟

注意:1. rem: 為注釋當前行

2. ^: 為轉義符號

3. %%a: for迴圈中變數賦值的寫法

4. !a!: 程式執行過程中變數的賦值會延遲, 用感嘆號以及第二行的 setlocal 指令來消除這種延遲

5. !a:x=y!: 字串替換的寫法, 將變數a中的x替換為y, 如果x是特殊字元需要用^轉義, 如果不寫y就是將x替換為空

6. 直接輸出並追加到檔案***.log中用文字編輯器開啟會有一些亂碼, 但是漢字大都沒問題,

如果直接用excel開啟中文就可能出現亂碼

指令碼源**:

@echo

offsetlocal

enabledelayedexpansion

remecho %cd%

for %%s in (*.eml) do (

remfindstr "log_user_trade" %%s >> stat.log

echo

%%s findstr "log_user_trade" %%s >tmp.log rem 匹配出需要的行

set /p line=log rem 放入臨時檔案中

set a=!line:^^=;! rem 替換字元,將^替換為; ^在bat指令碼中是轉義字元的意思

set b=!a:^|=;!

set c=!b:^@@=;!

set d=!c:^"=! rem 將字串"替換為空

set e=!d:^>=!

set f=!e:^=!

echo !f:^=! >> stat.log

) echo

complete

pause

查詢並替換字串的指令碼

首先判斷輸入的引數是否是兩個 查詢 所有的xml配置檔案 把檔案中從頭到尾含有引數1 1 全部替換為引數2 2 使用perl不生成轉換過程中的中間檔案,執行起來很快 i引數直接原地編輯檔案。然後把引數1 替換為引數2 bin bash if lt 2 then echo pls input 2 pa...

批處理中字串的擷取和替換

echo off set url www.mzwu.com echo 1.字串擷取 echo url 4,4 echo url 4,4 echo url 8,4 echo url 8,4 echo url 4 echo url 4 echo url 4 echo url 8 echo.echo 2....

批處理 字串操作

批處理有著具有非常強大的字串處理能力,其功能絕不低於c語言裡面的字串函式集。批處理中可實現的字串處理功能有 擷取字串內容 替換字串特定字段 合併字串 擴充字串等功能。下面對這些功能一一進行講解。擷取字串可以說是字串處理功能中最常用的乙個子功能了,能夠實現擷取字串中的特定位置的乙個或多個字元。舉例說明...