Powershell结果为SSIS变量与\ r \ n发生冲突

时间:2017-09-08 14:58:34

标签: powershell ssis

我在VS 2015中使用SSIS 2016。

我使用PowerShell(我永远无法让C#按照我的意愿工作)将结果吐出到变量。

这是运行的代码:

$RootFolder = 'C:\DSB_Download'

[string]$Folder = Get-ChildItem $RootFolder | sort Name -Descending| 
select -ExpandProperty Name -First 1;

If ([string]::IsNullOrEmpty($Folder))
    {
        $result = "EmptyFolder";
        $result = $result -replace "`t|`n|`r",""
        $result = $result -replace " ;|; ",";";}
    Else
    {$result = $Folder;}

Write-Output $result;

我正在尝试将"EmptyFolder"的字符串返回到Result变量,然后在脚本任务中使用,其中我正在检查DTS变量(由Powershell变量制作)

c#正在这样做:

 string NoFolders = "EmptyFolder";

        if (LocalDrive == NoFolders)
        {
            Dts.Variables["User::WorkingDateString"].Value = WebDrive;

        }

因此C#if子句正在寻找字符串"EmptyFolder"

很好,但是当我调试这个时,我注意到保存PowerShell结果的SSIS变量显示如下:

enter image description here

所以字符串最后会显示\r\n,当然这与c#正在查找和传递的内容不匹配。

正如您所看到的,PowerShell正在尝试替换$result以删除\r\n,但它没有做任何事情。

有没有人有任何想法如何摆脱这一点,并让字符串变量完全符合它应该是什么?

0 个答案:

没有答案