多くのフォルダーに*.oeaccount
ファイル (XML ファイル) があります。XML ファイル内のテキストを読み取り、ファイルを含むフォルダーの名前を変更するバッチ ファイルが必要です。
xml ファイルには、次のようなテキストが含まれています。
<SMTP_Display_Name type="SZ">abc@cba.com</SMTP_Display_Name>
<SMTP_Email_Address type="SZ">abc@cba.com</SMTP_Email_Address>
<SMTP_Split_Messages type="DWORD">00000000</SMTP_Split_Messages>
</MessageAccount>
バッチabc@cba.com
はこの行を見つけて、他のすべてのメールを無視する必要があります。
<SMTP_Email_Address type="SZ">abc@cba.com</SMTP_Email_Address>
行の先頭には 4 つのスペースがあります。
バッチは電子メール アドレスabc@cba.com
を抽出し、フォルダーの名前を変更する必要があります。すべてのフォルダーは XML ファイル内のテキストです。
フォルダ ツリーは次のようになります。
- フォルダ / 1.oeaccount
- フォルダ / 2.oeaccount
- フォルダ / 3.oeaccount
誰かが私にこのコードをくれましたが、うまくいきません:
@echo off
setlocal
pushd "YourRootLocation"
set "search=<SMTP_Email_Address .*>[^ ][^ ]*@[^ ][^ ]*\.[^ ][^ ]*</SMTP_Email_Address>"
for /f "eol=: delims=" %%A in (
'findstr /srmbc:"%search%" file1.txt^|sort /r'
) do for /f "tokens=2 delims=<>" %%B in (
'findstr /rbc:"%search%" "%%A"'
) do if exist "%%A" for %%F in ("%%A\..") do if "%%~fF" neq "%CD%" (
echo ren "%%~fF" "%%B"
ren "%%~fF" "%%B"
)
popd