【发布时间】:2015-10-24 18:49:10
【问题描述】:
我正在创建一个快速的临时修复,如果这很脏,很抱歉,但是-
目标
我想使用 Powershells Register-Event cmd 来等待文件夹中的文件,然后调用解析文件并将其输出到 excel 的函数。我不需要编码方面的帮助,只需要概念。这个事件在哪里运行以及它必须使用哪些资源对我来说仍然有点神秘。
我尝试过的事情
-
一个 .ps1 文件,底部有注册事件,顶部调用一个函数,由批处理文件调用。
行为:在这一行停止:$sr = new-object System.IO.StreamReader($copyPath)这是我第一次调用 .NET,所以这就是为什么我假设这是 .NET 的问题。
-
两个 .ps1 文件,FileWatcher 和 Parser,在单独运行时都能很好地工作,由批处理文件调用。
行为: FileWatcher 输出“此行”,但无法输出任何行解析器,永远不会到达那一行。Register-ObjectEvent $fsw Changed -SourceIdentifier FileChange -Action { Write-Host "This Line" .\src\Parser.ps1 Write-host "That Line" } 我什至绝望到要访问两个 ps1 文件和两个批处理文件。只能说没用。
我正在使用的通用批处理文件命令:
powershell.exe -noexit C:\scripts\src\FileWatcher.ps1
问题
为什么某些命令在从注册事件调用时运行良好,而其他命令(如 .NET)则不起作用?
我正在努力实现的目标是否可能?
您有更好的方法来实现我的目标吗? (仅限脚本,记住这是一个修补程序)。
【问题讨论】:
标签: .net powershell filesystemwatcher