我在配置文件中使用了一个小脚本,以便在脚本文件变得太大时更新它(超过给定的行数,会触发更新过程);它所做的是启动转录文件的副本,删除转录文件并启动另一个具有相同名称的转录文件。但是,当启动 ISE 的补充实例时,脚本将再次运行,并且当达到脚本文件上的行数限制时,会导致错误语句表明无法将脚本文件删除为它正被一个进程使用(这个进程是主实例上的转录——除了最初在会话中打开的实例之外没有其他实例的转录,但是打开一个新实例会在屏幕顶部产生,声明说成绩单文件已经开始)。如何使脚本的执行以系统不使用脚本文件为条件?错误消息不是问题,因为它已经是文件太大的警告,并且可以忽略它,但最好不要在每次打开新文件时将它放在屏幕顶部实例。
问问题
24 次
1 回答
0
以下解决方案不是 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>
}
于 2020-01-31T06:53:28.447 回答