SSIS 执行进程任务和 Powershell 以展开文件

SSIS Execute process task and Powershell for expand files

我正在尝试执行 powershell 脚本(该脚本正在解压缩源路径中与 .zip 文件夹同名的文件夹)

powershell 脚本:

param([string] $sourcepath) $sourcepath = "F:\Worflow\"

函数解压缩($文件){

$dirname = $sourcepath +(Get-Item $file).Basename

New-Item -Force -ItemType directory -Path $dirname

expand-archive -path $file -DestinationPath $dirname -F

}

$zipFiles = Get-LongChildItem -路径 $sourcepath -Recurse | Where-Object {$_.Name -like "*.zip"}

foreach($zipFiles 中的 $file) { 解压缩($文件)

}

SSIS 执行进程任务参数:

"-ExecutionPolicy Unrestricted -File C:\MyDataFiles\Unzip.ps1"

当 运行 在 PS 实例中时,powershell 脚本工作正常。但是代码在 SSIS 任务中失败并出现错误: Get-LongChildItem:术语 'Get-LongChildItem' 未被识别为 cmdlet、函数、脚本文件或 可运行的程序。检查名称的拼写,或者如果包含路径,请验证路径是否正确并尝试 再次。 在 C:\MyDataFiles\Unzip.ps1:17 char:13 + $zipFiles = Get-LongChildItem -Path $sourcepath -Recurse | Where-Obj ... + ~~~~~~~~~~~~~~~~~ + CategoryInfo:ObjectNotFound:(Get-LongChildItem:String)[],CommandNotFoundException + FullyQualifiedErrorId:CommandNotFoundException

任何帮助将不胜感激。目标是使用 powershell 压缩和解压缩文件夹或文件。

看起来您正在尝试在未先加载模块的情况下使用命令。

Get-LongChildItem 是开源模块 PSAlphaFS 的一部分

首先尝试在脚本中导入模块。 当然也需要安装。 ;)