The PowerShell New-Item conclusion is inconsistent - why?

I get the difference for the same powershell command, and I'm not sure why.

When this is executed inside the function, I get output 1, and when I run by itself, I get output2

New-Item -Path C:\DEPL\nichdwww\deployments\Full\bob3 -type directory

Output 1

PSPath            : Microsoft.PowerShell.Core\FileSystem::C:\DEPL\nichdwww\deployments\Full\bob3
PSParentPath      : Microsoft.PowerShell.Core\FileSystem::C:\DEPL\nichdwww\deployments\Full
PSChildName       : bob3
PSDrive           : C
PSProvider        : Microsoft.PowerShell.Core\FileSystem
PSIsContainer     : True
Name              : bob3
Parent            : Full
Exists            : True
Root              : C:\
FullName          : C:\DEPL\nichdwww\deployments\Full\bob3
Extension         : 
CreationTime      : 6/23/2015 2:14:39 PM
CreationTimeUtc   : 6/23/2015 6:14:39 PM
LastAccessTime    : 6/23/2015 2:14:39 PM
LastAccessTimeUtc : 6/23/2015 6:14:39 PM
LastWriteTime     : 6/23/2015 2:14:39 PM
LastWriteTimeUtc  : 6/23/2015 6:14:39 PM
Attributes        : Directory
BaseName          : bob3
Mode              : d----

Output 2

Directory: C:\DEPL\nichdwww\deployments\Full


Mode                LastWriteTime     Length Name                                                                                                                         
----                -------------     ------ ----                                                                                                                         
d----         6/23/2015   2:45 PM            bob3

Here is the function

function ArchiveFullSolution($wsp)
{
    $ParentPath=Split-Path $wsp.DirectoryName -Parent
    $FullPath=$ParentPath+'\Full\'
    $Fullfilename=$FullPath+$wsp.Name
    #$Fullfilename

    #does file exist    
    if(Test-Path -path $Fullfilename)
    {
        #Make Full Archive folder
        #$script:Makefolder
        if($script:Makefolder)
        {
            #does folder exists
            $DayFormat=Get-Date -f yyyy-MM-dd
            if(Test-Path -path $FullPath$DayFormat)
            {
                write-host "folder $FullPath$DayFormat exists"
                $DayTimeFormat=Get-Date -f yyyy-MM-dd-hh-mm
                 write-host "Creating folder $FullPath$DayTimeFormat"
                New-Item -Path $FullPath$DayTimeFormat -type directory

                $script:Makefolder=$false
                $script:FullArchivePath=$FullPath+$DayTimeFormat
            }
            else
            {
                write-host "no folder exists"
                write-host "Creating folder $FullPath$DayFormat"
                New-Item -Path $FullPath$DayFormat -type directory 

                $script:Makefolder=$false
                $script:FullArchivePath=$FullPath+$DayFormat
            }
        }

        #move file into archive
        Move-Item $Fullfilename $script:FullArchivePath
        write-host "Moving file $($Fullfilename) to $FullArchivePath"        
    }
    #copy file into full
    Copy-Item $wsp.FullName $FullPath
    write-host "Copying file $($wsp.FullName) to $FullPath"
}
+4
source share
1 answer

Test your function. Most likely, it displays the other object first. After the PowerShell F & O engine (formatting and output) sees one type of object, it wants to format everything after it as this type. If he sees another type of object, he will return to using Format-List IIRC.

+3
source

All Articles