You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

受限PowerShell 5.1环境下Zip归档修改兼容问题求助

PowerShell修改专业应用Zip包内JSON文件的兼容问题

在医院受限网络环境(Windows 11系统,PowerShell处于约束语言模式,无法安装第三方软件)下,编写PowerShell脚本对某专业应用生成的Zip包内子文件夹中的JSON文件进行搜索替换修改,脚本核心功能正常,但替换修改后的JSON文件时遇到以下问题:

已尝试的方案及问题

  • 删除原Zip包,从临时解压目录执行Compress-Archive重新生成Zip:目标应用不兼容该命令生成的包;但将脚本生成的文件用资源管理器重新压缩后,应用可正常识别。
  • 使用Compress-Archive -Update更新整个解压目录到原Zip:所有文件重复,应用不接受;仅更新包含修改后JSON的子目录,仍出现文件重复问题。
  • 仅将修改后的JSON文件用-Update更新到原Zip:文件被放置在Zip根目录,未替换子文件夹内的原文件,应用仍读取旧内容。

应用报错信息

-----[InnerException]--------------------
Sequence contains no matching elements
-----[InnerException - StackTrace]--------------------
   at System.Linq.Enumerable.Single[TSource](IEnumerable`1 source, Func`2 predicate)
   at DIPS.OpenEhr.Forms.IO.FormReader.Read(ZipFile zipFile)
   at DIPS.OpenEhr.Forms.IO.FormReader.Read(String path)
   at DIPS.ArenaEhr.Designers.Wpf.Client.EhrClient.FileRepositoryBuilderEhrClient.<>c__DisplayClass31_0.<GetFormAsync>b__0()
   at System.Threading.Tasks.Task`1.InnerInvoke()
   at System.Threading.Tasks.Task.Execute()

目录结构

原Zip解压后结构

Get-ChildItem -Path .\Allergen_immunterapi_konsultasjon_variant-2.2.0 -Recurse       

    Directory: .\Allergen_immunterapi_konsultasjon_variant-2.2.0

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
da---l        04.03.2024     11:57                Allergen_immunterapi_konsultasjon_variant_2_2_0
da---l        04.03.2024     11:57                META_INF

    Directory: .\Allergen_immunterapi_konsultasjon_variant-2.2.0\Allergen_immunterapi_konsultasjon_variant_2_2_0

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a---l        16.02.2024     14:48          14245 form_dependencies.json
-a---l        16.02.2024     14:48         257808 form_description.json
-a---l        16.02.2024     14:48          34050 form_layout.json
-a---l        16.02.2024     14:48          27968 form_script.js

    Directory: .\Allergen_immunterapi_konsultasjon_variant-2.2.0\META_INF

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a---l        16.02.2024     14:48           1308 MANIFEST.MF

临时目录结构(已修改JSON)

Get-ChildItem -Path .\AppData\Local\Temp\1dfacedf-8f54-4708-a8ce-6ec66bd6d75f -Recurse                                         

    Directory: .\AppData\Local\Temp\1dfacedf-8f54-4708-a8ce-6ec66bd6d75f

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----        04.03.2024     11:55                Allergen_immunterapi_konsultasjon_variant_2_2_0
d-----        04.03.2024     11:55                META_INF

    Directory: .\AppData\Local\Temp\1dfacedf-8f54-4708-a8ce-6ec66bd6d75f\Allergen_immunterapi_konsultasjon_variant_2_2_0

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----        16.02.2024     14:48          14245 form_dependencies.json
-a----        04.03.2024     11:55         257842 form_description.json
-a----        16.02.2024     14:48          34050 form_layout.json
-a----        16.02.2024     14:48          27968 form_script.js

    Directory: .\AppData\Local\Temp\1dfacedf-8f54-4708-a8ce-6ec66bd6d75f\META_INF

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----        16.02.2024     14:48           1308 MANIFEST.MF

当前使用的Compress-Archive命令

Compress-Archive -Path $tempDir\* -DestinationPath $formZipPath -Force

请问如何让Compress-Archive生成应用兼容的Zip包,或者实现无重复、路径正确的-Update操作?

内容的提问来源于stack exchange,提问作者SiljeLB

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 02:29:52