Powershell脚本可“监视”新文件的目录并移至新位置

时间:2019-06-04 09:09:56

标签: powershell

我正在设置一个目录过程,以便操作员进行文件签名。这些文件一旦签名就需要进行处理,以便下一位操作员知道上一个过程已完成。

步骤1.在X:\'operator name'\'Customer Name'中创建初始文件

第2步。操作员对文件进行了签名,并将签名的版本放在x:\'Operator name'\'Customer Name'\ Signed

第3步。管理员将从其桌面启动批处理文件或脚本,该文件或脚本会将在任何X:\'Operator Name'\'Customer Name'\ Signed文件夹中创建的所有文件移动到相应的X:\'Customer Name中'文件夹。

将维护一个运算符列表-可能在批处理文件中。这已经存在于中央excel文件中。

所有文件均为.pdf 每个操作员在X:\上都有自己的文件夹 每个操作员都有无限数量的潜在客户文件夹。

所有操作员和客户文件夹都是在vb中自动创建的,因此命名将是相同的。

任何帮助表示赞赏!

谢谢

# Defines a list of operators. Must be identical to those in the main PDF operators table
$operatorlist = (
                "Operator One",
                "Operator Two",
                "Operator three",
                "Operator Four",
                "Operator Five",
                "Operator Six"
                )

# Defining the variables
$nametoFind = "\Signed"

foreach ( $FTM in $operatorlist )
{
$sourceFolder = ( JOIN-PATH "X:\"  $operatorlist )
#define the file to move
$FTM = Get-ChildItem $sourceFolder -Recurse | Where-Object {$_.PSIsContainer -and $_.Name.Endswith($nametoFind)}
$customerpath = Split-Path - Path $FTM -Parent -Resolve | Split-Path -Leaf

}

1 个答案:

答案 0 :(得分:0)

此回复时间过长,无法发表评论。所以,放在这里:

为什么不只使用Windows FSRM(文件系统资源管理器)服务来执行此操作还是编写脚本。这是一项旨在查看数据文件并执行定义的操作的专用服务。您可以查看文件的内容,然后决定如何处理它们。您会发现许多与Windows FCI(文件分类基础结构)有关的信息。但是,没有什么可以阻止您将FSRM用于此一般目的。查看此信息:

Windows Server 2012 > Using File Server Resource Manager (FSRM) to Move Files Containing Sensitive Data

如果要为此使用PowerShell,则将使用Async FileSystemWatcher实现。 MS PowerShellGallery.com上有一些预先构建的脚本,可以帮助您入门。按原样下载和使用,或根据用例的需要进行重构。

示例:

Powershell FileSystemWatcher

此脚本使用.net FileSystemWatcher类来订阅NTFS文件系统中文件或文件夹上的“创建”,“更改”和“删除”事件。它可用于监视一个或多个文件夹,并可进行修改以在触发这些事件时执行任何操作。

Download : FileSystemWatcher.ps1

Monitor folder for file system events

  

。简介
  使用非持久性异步事件监视文件夹中的更改

     

。说明
  IO.FileSystemWatcher和Register-ObjectEvent的包装器,用于监视文件夹中的文件系统事件(已创建,已删除,已更改和/或重命名)

Download : Monitor-Folder.ps1