Hallo liebe Scripter,
ist es möglich, eine Pfad Variable aus einem Autoit Script ($path1) an ein PS Script zu übergeben, welches ich über folgenden Aufruf ausführe:
$CmdPid2 = Run("C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe .\mailer.ps1 -noexit" & 'Get-ChildItem',@ScriptDir, @SW_HIDE); Starting PicMailer
Das aufgerufene Script überwacht einen Ordner und mailt die neue Datei: Ich weiss, gibt wahrscheinlich in AI bessere Lösungen, aber denke wenn das gehen sollte ist es der einfachste Weg. Das PS Script schaut wie folgt aus:
AutoIt
Function Set-WindowSize {
Param([int]$x=$host.ui.rawui.windowsize.width,
[int]$y=$host.ui.rawui.windowsize.heigth)
$size=New-Object System.Management.Automation.Host.Size($x,$y)
$host.ui.rawui.WindowSize=$size
}
# Ordner der überwacht wird
$folder = "\\A100805\c$\clips\app"
# Dateifilter
$filter = '*.jpg'
# ---------
if ($PSVersionTable.PSVersion.Major -lt 3){write-host "ERROR: Minimum Powershell Version 3.0 is required!" -F Yellow; return}
Unregister-Event -SourceIdentifier FileCreated -EA 0
$fsw = New-Object IO.FileSystemWatcher $folder, $filter -Property @{IncludeSubdirectories = $false;NotifyFilter = [IO.NotifyFilters]'FileName, LastWrite'}
Register-ObjectEvent $fsw Created -SourceIdentifier FileCreated -Action {
$fullpath = $Event.SourceEventArgs.FullPath
$timeStamp = $Event.TimeGenerated
Write-Host "Die Datei '$fullpath' wurde um '$timeStamp' erstellt. Sende E-Mail mit Attachment ..." -fore green -NoNewline
try{
$credential = Import-CliXml -Path ".\Credential.xml"
Send-MailMessage -From xxx@yz.berlin.de -to xxx@yz.berlin.de -Subject 'Neue Messwerte' -Body 'Musterbody' -SmtpServer mail01.xyz.de -Attachments $fullpath -EA Stop -Credential (New-Object PSCredential('xxx@yz.berlin.de',(ConvertTo-SecureString 'PASSWORD' -AsPlainText -Force))) -UseSSL
write-host "OK." -F Green
}catch{
write-host "Error: $($_.Exception.Message)" -f Red
}
}
cls
write-host "Warte auf neue Dateien im Ordner ..."
while($true){sleep 1}
Alles anzeigen
$Path1 soll als $folder übergeben werden, geht das ?
lg und danke schon mal
Chris