批處理腳本, 讀取文件並字符串替換


2016年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. 直接輸出並追加到文件xxx.log中用文本編輯器打開會有一些亂碼, 但是漢字大都沒問題,

如果直接用Excel打開中文就可能出現亂碼

腳本源代碼:

@echo off 
setlocal EnableDelayedExpansion
rem echo %cd%

for %%s in (*.eml) do (
    rem findstr  "log_user_trade" %%s >> stat.log
    echo %%s
    findstr  "log_user_trade" %%s >tmp.log rem 匹配出需要的行
    set /p line=<tmp.log rem 放入臨時文件中
    set a=!line:^^=;! rem 替換字符,將^替換為; ^在bat腳本中是轉義字符的意思
    set b=!a:^|=;!
    set c=!b:^@@=;!
    set d=!c:^&quot;=! rem 將字符串&quot;替換為空
    set e=!d:^&gt;=!
    set f=!e:^<td^>=!
    echo !f:^</td^>=! >> stat.log
) 
echo complete
pause

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM