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:^"=! rem 將字符串"替換為空 set e=!d:^>=! set f=!e:^<td^>=! echo !f:^</td^>=! >> stat.log ) echo complete pause