在系统使用听录文件时禁止配置文件脚本



我在配置文件中使用一个小脚本,以便在脚本文件变得太大时对其进行更新(超过给定的行数,将触发续订过程(;它的作用是启动脚本文件的副本,删除脚本文件并启动另一个具有相同名称的脚本文件。但是,当启动ISE的补充实例时,脚本将再次运行,并且当达到脚本文件上的行数限制时,会导致错误语句,大意是无法删除脚本文件,因为它正在由进程使用(此过程是主实例上的转录 - 除了最初打开的实例之外,没有其他实例的听录一个会话,但仍然打开一个新实例,在屏幕顶部生成一个声明,指出脚本文件已启动(。如何使脚本的执行以系统未使用脚本文件为条件?错误消息不是这样的问题,因为它已经是一个警告,表明文件太大并且可以忽略,但最好不要在每次打开新实例时将其放在屏幕顶部。

以下解决方案不是 100% 验证的,我无法解释所涉及的原则,但它有效。有关它的更多详细信息可以在此处找到,即交换机的来源。
只需为变量"$filename"选择脚本文件的路径,并在 if 指令的第二个字段中插入用于文件内容存储和续订的脚本。

$fileName = <path of transcript file>
$file = New-Object -TypeName System.IO.FileInfo -ArgumentList $fileName
$ErrorActionPreference = "SilentlyContinue"
[System.IO.FileStream] $fs = $file.OpenWrite(); 
if (!$?) {} else {$fs.Dispose();<script for file content storage and renewal>  
}

最新更新