使用特定文件名移动文件

时间:2016-01-25 15:05:15

标签: powershell

我编写了一个脚本,用于在Post的子文件夹中检测名为W:\SUS Test2的文件夹,并移动具有" EMMain"的CSV文件。在文件名中。但我遇到的问题是CSV文件无法复制到目标文件夹W:\SUS Test3,而是将其复制到W:\SUS Test2文件夹。

$path = "W:\SUS Test2\"
$destination = "W:\SUS Test3\"
$fsw = New-Object  System.IO.FileSystemWatcher $path -Property @{
  IncludeSubdirectories = $true
  NotifyFilter = [IO.NotifyFilters]'DirectoryName
}

$createdLTC = Register-ObjectEvent $fsw -EventName Created -Action {
  $item =  Get-Item $eventArgs.FullPath

  if ($item.Name -like "Post") {
    Get-ChildItem $item -filter "*EMMain*" | Copy-Item -dest $destination
  }
}

1 个答案:

答案 0 :(得分:0)

您正尝试访问其中不可用的部分代码中的$destination变量。Register-OjbectEvent中的脚本块无法访问此变量。尝试直接在脚本块中声明$ destination。

$createdLTC = Register-ObjectEvent $fsw -EventName Created -Action {
    $destination = "W:\SUS Test3\"
    $item =  Get-Item $eventArgs.FullPath
    If ($item.Name -like "Post") {
          Get-ChildItem $item -filter "*EMMain*" | Copy-Item -dest $destination 
    } 
  }