none
Powershell Problème de concaténation RRS feed

  • Question

  • Bonjour,

    Dans mon code ci dessous j''écris un fichier log et j'envoie un mail suite à un téléchargement ftp.

    Dans le fichier le log et dans le corps du mail je cherche à faire apparaître le nombre d'éléments téléchargés, seulement je but au moment de concaténer une string avec ma variable $Count qui représente le nb de fichiers téléchargés.

    Je vous voudrais qu'il me print dans le fichier de log et dans le corps du mail ceci

    files count in ftp://ftp.mycompagny.fr/repo/data = 8

    mais il ne m'imprime que la chaine de caractère sans le count. 

    files count in ftp://ftp.mycompagny.fr/repo/data = 

    Pourriez vous m'aider?

    $tmpPath = 'D:\script\ftplogs\'
    $destPath = '\\SRVFILE\data\prod\data\db\'
    $current = ([DateTime]::Now).ToString("dd-mm-yyyy_HH-mm")
    $logFile = "D:\script\ftp-data_$current.log"
    $fileCount = "D:\script\ftpcount.log"
    $logPath ="D:\script\ftp"
    $smtp = 'mail.mycompagny.local'
    $ftpCmd = "ftp -i -s:D:\script\ftp_params.txt"
    
    # init ftp connection
    Invoke-Expression $ftpCmd
    
    # count ftp files on /repo/data/
    $Count = get-content  $fileCount | wc -l
    
    # write count of ftp files at begin of log file 
    write-output $(" files count in ftp://ftp.mycompagny.fr/repo/data = " + $Count) |  out-file $logFile -Append
    
    # copy downloaded files to destination path
    foreach($item in (dir $tmpPath "*.*"))
        { 
          write-output $item.FullName
    	  write-output $item.Name
    	  Move-Item -Path $item.FullName -Destination $destPath
    	  get-item -path ($destPath+$item.Name) | out-file $logFile -Append 
        }
    
    $mFrom = "noreply-qvreport@mycompagny.com"
    $mTo = "contact1@mycompagny.com"
    $mCc = "contact2@mycompagny.com,contact3@mycompagny.fr"
    $mSubject = "DataRepport OF $current"
    $mBody = " files count in ftp://ftp.mycompagny.fr/repo/data = " + $Count 
    
    # send mail repport 
    Send-MailMessage -SmtpServer $smtp  -From $mFrom -To $mTo -Cc $mCc -Subject $mSubject -attachment $logFile -body $mBody
    
    # remove the old files logs but 10
    Get-ChildItem $logPath -filter *.log |
    sort CreationTime -Descending |
    select -Skip 11 |
    Remove-Item


    Orwell

    vendredi 24 juin 2016 11:53

Réponses

Toutes les réponses