我正在使用以下 powershell 脚本来监视 IBM iSeries 共享文件夹中的新文件。
# variables
#$folder = "\\10.10.0.120\transform\BE\FORM"
#$folder = "C:\Users\Administrator.ALI\Desktop\AS400"
#$folder = "\\nb091002\Temp"
$folder = "I:\"
$filter = "*.txt"
$aswform = "C:\ASWFORM\aswform.exe"
$watcher = New-Object System.IO.FileSystemWatcher
$watcher.Path = $folder
$watcher.IncludeSubdirectories = $true
$watcher.EnableRaisingEvents = $false
$watcher.NotifyFilter = [System.IO.NotifyFilters]::LastWrite -bor [System.IO.NotifyFilters]::FileName
while($TRUE){
$result = $watcher.WaitForChanged([System.IO.WatcherChangeTypes]::Changed -bor [System.IO.WatcherChangeTypes]::Renamed -bOr [System.IO.WatcherChangeTypes]::Created, 2000);
if($result.TimedOut){
continue;
}
Write-Host $result.Name
#$aswform $folder
}
这似乎在本地文件夹或域共享上运行良好。
我尝试将 iSeries 共享文件夹映射到网络驱动器,但它不起作用。
(10.10.0.120 是 AS400)
我很确定它必须对凭据做一些事情......
奇怪的是我可以完美地从 Windows 中访问共享文件夹。
有人对我有任何线索或提示吗?
PS:小细节,我将使用这个触发器通过任务调度器运行这个脚本
powershell -NoExit -WindowStyle Hidden -File "C:\ASWFORM\watcher.ps1"
但首先我需要它在手动运行脚本时工作!