首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在powershell中附加二进制afp文件?

如何在powershell中附加二进制afp文件?
EN

Stack Overflow用户
提问于 2015-08-20 01:52:09
回答 1查看 2.1K关注 0票数 0

我正在尝试将二进制AFP文件附加到一个文件中。当我使用下面的代码时,同一个文件被写了三次,而不是三个文件被附加到一个文件中。为什么$bytes的值不会改变?Get-Content未成功,且未在AFP文件中导致错误。

代码语言:javascript
复制
$dira = "D:\User1\Desktop\AFPTest\"

$list = get-childitem $dira -filter *.afp -recurse | % { $_.FullName } | Sort-Object

foreach($afpFile in $list){

    $bytes = [System.IO.File]::ReadAllBytes($afpFile) 

    [io.file]::WriteAllBytes("D:\User1\Desktop\AFPTest\Content.afp",$bytes)

}

下面的脚本是在我将$bytes存储到$data变量,然后写出$data之后执行的。

代码语言:javascript
复制
$dira = "D:\User1\Desktop\AFPTest\"

$list = get-childitem $dira -filter *.afp -recurse | % { $_.FullName } | Sort-Object -descending



foreach($afpFile in $list){

    Write-Host $afpFile

    $bytes = [System.IO.File]::ReadAllBytes($afpFile)

    $data += $bytes 

}
    [io.file]::WriteAllBytes("D:\User1\Desktop\AFPTest\Content.afp",$bytes)

我尝试通过将三个文件中的每个文件都设置为一个变量,然后将它们添加到$data数组中来手动组合它们,但是重复的图像也会出现同样的问题。代码如下。

代码语言:javascript
复制
$dira = "D:\User1\Desktop\AFPTest\"

$list = get-childitem $dira -filter *.afp -recurse | % { $_.FullName } | Sort-Object

$file3 = [System.IO.File]::ReadAllBytes("D:\User1\Desktop\AFPTest\000001.afp")

$file2 = [System.IO.File]::ReadAllBytes("D:\User1\Desktop\AFPTest\000002.afp")

$file1 = [System.IO.File]::ReadAllBytes("D:\User1\Desktop\AFPTest\000003.afp")

$data = $file1 + $file2


[io.file]::WriteAllBytes("D:\User1\Desktop\AFPTest\AFP.afp",$data)
EN

回答 1

Stack Overflow用户

发布于 2015-08-20 02:50:04

WriteAllBytes()总是创建一个新文件。你想要追加。试试这个:

代码语言:javascript
复制
...
$bytes = @()
foreach($afpFile in $list) {
    $bytes += [System.IO.File]::ReadAllBytes($afpFile) 
}
[io.file]::WriteAllBytes("D:\User1\Desktop\AFPTest\Content.afp",$bytes)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32102352

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档