処理(中身)抜き、読んだまま既存ファイルに追記する手順のサンプル。
(1) for文
for /f "delims=" %%i in (%SRC%) do @echo %%i>> %DST%
(2) PowerShell コマンドレット
Get-Content $src | Out-File $dst -Append -Encoding default
(3) PowerShell 行単位
$tesjis = [Text.Encoding]::GetEncoding("shift_jis")$sr = New-Object System.IO.StreamReader($src, $tesjis)
$sw = New-Object System.IO.StreamWriter($dst, $true, $tesjis)
while (! $sr.EndOfStream) {
$sw.WriteLine($sr.ReadLine())
}
$sw.Close()
$sr.Close()
(4) PowerShell バイナリ
$fmopen = [System.IO.FileMode]::Open$ss = New-Object System.IO.FileStream($src, $fmopen)
$ds = New-Object System.IO.FileStream($dst, $fmopen)
$ds.Position = $ds.Length
while (0 -le ($b = $ss.ReadByte())) {
$ds.WriteByte($b)
}
$ss.Close()
$ds.Close()
(5) VBS 行単位
Set oFso = WScript.CreateObject("Scripting.FileSystemObject")
Set oSrc = oFso.OpenTextFile(sSrc, 1)
Set oDst = oFso.OpenTextFile(sDst, 8)
Do Until oSrc.AtEndOfStream
sLine = oSrc.ReadLine()
oDst.WriteLine(sLine)
Loop
oDst.Close
oSrc.Close
Set oSrc = oFso.OpenTextFile(sSrc, 1)
Set oDst = oFso.OpenTextFile(sDst, 8)
Do Until oSrc.AtEndOfStream
sChar = oSrc.Read(1)
oDst.Write(sChar)
Loop
oDst.Close
oSrc.Close
Set oSrc = oFso.OpenTextFile(sSrc, 1)
Set oDst = oFso.OpenTextFile(sDst, 8)
Do Until oSrc.AtEndOfStream
sLine = oSrc.ReadLine()
oDst.WriteLine(sLine)
Loop
oDst.Close
oSrc.Close
(6) VBS 文字単位
Set oFso = WScript.CreateObject("Scripting.FileSystemObject")Set oSrc = oFso.OpenTextFile(sSrc, 1)
Set oDst = oFso.OpenTextFile(sDst, 8)
Do Until oSrc.AtEndOfStream
sChar = oSrc.Read(1)
oDst.Write(sChar)
Loop
oDst.Close
oSrc.Close
(7) VBS バイナリ
Set oSrc = WScript.CreateObject("ADODB.Stream")
Set oDst = WScript.CreateObject("ADODB.Stream")
oSrc.Type = 1 'adTypeBinary
oSrc.Open
oSrc.LoadFromFile(sSrc)
oDst.Type = 1 'adTypeBinary
oDst.Open
oDst.LoadFromFile(sDst)
oDst.Position = oDst.Size
Do Until oSrc.EOS
sByte = oSrc.Read(iBlockSize)
oDst.Write(sByte)
Loop
oDst.SaveToFile sDst, 2 'adSaveCreateOverWrite
oDst.Close
oSrc.Close
Set oDst = WScript.CreateObject("ADODB.Stream")
oSrc.Type = 1 'adTypeBinary
oSrc.Open
oSrc.LoadFromFile(sSrc)
oDst.Type = 1 'adTypeBinary
oDst.Open
oDst.LoadFromFile(sDst)
oDst.Position = oDst.Size
Do Until oSrc.EOS
sByte = oSrc.Read(iBlockSize)
oDst.Write(sByte)
Loop
oDst.SaveToFile sDst, 2 'adSaveCreateOverWrite
oDst.Close
oSrc.Close
0 件のコメント:
コメントを投稿