私たちはプロジェクトの一環として、安全なSFTPの場所からemlファイルの巨大な塊をダウンロードしています。ダウンロードした後、ダウンロードした各ファイルにサブタグを追加する必要があります。約90 MB、私は他のサイトで見てきたpowershellスクリプトを使ってサブタグを追加しようとしたが、下に貼り付けても、10 KBから200 KBの小さなファイルでうまく動作するが、誰かがそれを通過するのを助けてくれる?パワーシェル大きなファイルの中にテキストを挿入する(90MB)
(Get-Content F:\EmlProcessor\UnZipped\example.eml) |
Foreach-Object {
$_ # send the current line to output
if ($_ -match "x-globalrelay-MsgType: ICECHAT")
{
#Add Lines after the selected pattern
" X-Autonomy SubTag=GMAIL"
}
} | Set-Content F:\EmlProcessor\EmlProcessor\example2.txt
SAMPLEのEMLファイル
Date: Tue, 3 Oct 2017 07:44:32 +0000 (UTC)
From: XYZ
To: ABC
Message-ID: <[email protected]>
Subject: Symphony: 2 users, 4 messages, duration 00:00
MIME-Version: 1.0
Content-Type: multipart/mixed;
boundary="----=_Part_28220_1999480254.1507075364517"
x-globalrelay-MsgType: GMAIL
x-symphony-StreamType: GMAIL
x-symphony-StreamID: RqN3HnR/ajgZvWOstxzLuH///qKcERyOdA==
x-symphony-ContentStartDateUTC: 1507016636610
x-symphony-ContentStopDateUTC: 1507016672387
x-symphony-FileGeneratedDateUTC: 1507075364516
------=_Part_28220_1999480254.1507075364517
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
<!DOCTYPE html><html><body><p><font color=3D"grey">Message ID: Un/pfFrGvvVy=
T6quhMBKjX///qEezwdFdA=3D=3D</font><br>2017-10-03T07:43:56.610Z 0
----
------
-----
</HTML>
上記サンプル入力ファイルに示されるように、私は、テキスト "X-globalrelay-のMsgType" 上記または下記の "X-自律サブタブ" を追加する必要があります。
サンプルファイルにサブタグを追加しようとしましたが、それは打たれたと言われていますが、私の要件は各ファイルをループすることでほぼ2Kファイルに追加することですが、上記のファイルコードは失敗しましたが、私はバッチに非常に新しいです& Windowsのpowershellスクリプトは、任意の迅速なヘルプは高く評価されます。
これらのリンクを見てみましょう:http://rkeithhill.wordpress.com/2007/06/17/optimizing-performance-of-get-content-for-large-files/そしてRomanの答えはこちらをご覧ください:https: //stackoverflow.com/questions/4192072/how-to-process-a-file-in-powershell-line-by-line-as-a-stream – Squashman