gpt4 book ai didi

用于提取 Cab 文件内容并将文件移动到新位置的 Powershell 脚本

转载 作者:行者123 更新时间:2023-12-03 22:48:31 27 4
gpt4 key购买 nike

我得到了 14K CAB 文件,每个文件包含 200 个文件,需要将这些文件解压缩到它们的原始位置。

不幸的是,这并不像将它们全部提取到同一位置那么容易:-(

我决定使用 PowerShell 并使用 SQL 为每个文件生成了一个单独的文件位置列表,并且可以提取 CAB,不幸的是它们都提取到当前位置。

我试图将它们移动到各自的位置,但正在挣扎。

这是代码,我到目前为止

$shell_app=new-object -com shell.application
$CABfilename= Import-CSV "CABFileList.csv" -Header CABfilename | Foreach-object {

$zip_file = $shell_app.namespace((Get-Location).Path + "\$CABfilename")
$destination = $shell_app.namespace((Get-Location).Path)
$destination.Copyhere($zip_file.items())

$dvs = Import-csv "CABFileList.csv" -Header Path, DVSFilename |

Foreach-object{
Move-item $_.DVSFilename* $_.Path
}

最佳答案

这是一个老问题,但无论如何有人可能会发现答案有用。我改编了我今天制作的一个从一个农场下载所有 WSP 并提取它们的内容。

$CABfilename = Import-CSV "CABFileList.csv" -Header CABfilename | Foreach-object {
# Grab the Solution
$Path = $SaveLocation + $CABfilename
# Check the path is ok
$Path
# Make a copy with extension '.cab' for extraction
$DotCab = $CABfilename + ".cab"
$SolutionDir = $Dotcab -replace '.wsp.cab'
mkdir $SolutionDir
copy-item $CABfilename $DotCab
# Now extract it, assuming you have expand.exe in the filsystem (should be in everything post Server 2008 / Vista)
if(C:\Windows\System32\expand.exe) {
try { cmd.exe /c "C:\Windows\System32\expand.exe -F:* $Dotcab $SolutionDir"}
catch { Write-host "Nope, don't have that, soz."}
}}

关于用于提取 Cab 文件内容并将文件移动到新位置的 Powershell 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24247547/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com