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

SSIS调用PowerShell生成文件时无法自动添加日期的问题

解决SSIS Execute Process Task执行PowerShell脚本日期变量问题

问题根源

  • 原脚本用单引号包裹输出路径,PowerShell会将单引号内内容视为字面量,导致日期变量$((Get-Date).ToString("yyyyMMdd"))无法解析,直接以字符串形式写入文件名。
  • 改成双引号后,SSIS传递参数时,双引号会被命令行(cmd)解析为参数分隔符,导致PowerShell接收到的脚本语法错误,进程返回退出代码1。

解决方案

方案1:转义双引号并指定-Command参数

在SSIS的Execute Process Task中按以下配置设置:

  • Executable:powershell.exe
  • Arguments:
-Command "Get-ChildItem -Path '\\servername.com\\PRD\\SourceFiles' -Depth 6 -Include *.* -Recurse | Select FullName,Name,LastWriteTime | Export-Csv \"\\servername.com\\ExportFiles\\SourceFileDetails_$((Get-Date).ToString('yyyyMMdd')).txt\" -Delimiter '|' -NoTypeInformation"

说明:

  • 用-Command明确声明要执行的PowerShell命令
  • 输出路径的双引号用反斜杠\转义,避免被cmd识别为参数边界
  • 将日期格式中的双引号改为单引号,避免和外层双引号冲突

方案2:将脚本保存为.ps1文件调用

  1. 创建PowerShell脚本文件Get-SourceFileDetails.ps1,内容如下:
Get-ChildItem -Path '\\servername.com\\PRD\\SourceFiles' -Depth 6 -Include *.* -Recurse | 
Select FullName,Name,LastWriteTime | 
Export-Csv "\\servername.com\\ExportFiles\\SourceFileDetails_$((Get-Date).ToString('yyyyMMdd')).txt" -Delimiter '|' -NoTypeInformation
  1. 在SSIS的Execute Process Task中配置:
  • Executable:powershell.exe
  • Arguments:-File "D:\\Scripts\\Get-SourceFileDetails.ps1"(替换为实际脚本存储路径)
    说明:
  • 直接调用脚本文件,避开SSIS参数传递时的引号解析问题,脚本内变量可正常解析

方案3:用SSIS变量生成带日期的文件名

  1. 在SSIS中创建字符串变量@[User::FileName],表达式设置为:
"\\servername.com\\ExportFiles\\SourceFileDetails_" + (DT_WSTR,8)YEAR(GETDATE()) + RIGHT("0" + (DT_WSTR,2)MONTH(GETDATE()),2) + RIGHT("0" + (DT_WSTR,2)DAY(GETDATE()),2) + ".txt"
  1. 在Execute Process Task的Arguments中引用变量:
-Command "Get-ChildItem -Path '\\servername.com\\PRD\\SourceFiles' -Depth 6 -Include *.* -Recurse | Select FullName,Name,LastWriteTime | Export-Csv '" + @[User::FileName] + "' -Delimiter '|' -NoTypeInformation"

说明:

  • 由SSIS生成带日期的文件名,绕过PowerShell变量在参数传递中的解析障碍

验证要点

  • 执行前可将Arguments中的命令复制到PowerShell中运行,确认语法无误
  • 检查SSIS运行账户是否拥有\\servername.com\\PRD\\SourceFiles和\\servername.com\\ExportFiles的读写权限

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 06:30:12