Powershell 记事本在设置内容后打开陈旧文件

Powershell 记事本在设置内容后打开陈旧文件,powershell,file-io,Powershell,File Io,我在脚本中有以下代码: Set-Content -Path $myFile -Value $myContent 在脚本的后面,我希望通过在记事本中打开文件来显示最终结果: notepad $myFile 我发现我看到的启动文件具有原始内容,而不是我在脚本中设置的内容。实际文件具有正确的内容,因此只需获取陈旧的文件内容即可 我只是在开始处理大文件时才注意到这种行为,所以我认为在设置内容后需要刷新或等待 我发现的一个解决方法是使用-PassThru参数: $dummy = Set-Content

我在脚本中有以下代码:

Set-Content -Path $myFile -Value $myContent
在脚本的后面,我希望通过在记事本中打开文件来显示最终结果:

notepad $myFile
我发现我看到的启动文件具有原始内容,而不是我在脚本中设置的内容。实际文件具有正确的内容,因此只需获取陈旧的文件内容即可

我只是在开始处理大文件时才注意到这种行为,所以我认为在设置内容后需要刷新或等待

我发现的一个解决方法是使用
-PassThru
参数:

$dummy = Set-Content -Path $myFile -Value $myContent -PassThru

然而,我发现这需要相当长的时间。这是我必须处理的权衡问题吗?

你是说
设置内容
是异步运行的(这肯定是出乎意料的),但我个人认为,在W10和PSv5.1上,使用
'hi'>t.txt这样的命令,没有证据表明这一点;1..100000 |设置内容t.txt;notepad t.txt
。你的环境是什么?你能提供一个?另外,
-PassThru
收集所有要写入内存中文件的输出(同样),这对于大文件来说是有问题的。这只是我的假设。也许它不是设置内容本身,而是其他东西。关于你对-PassThru的评论,是的,当然,它会再次收集内存中的所有输出。有问题的除了浪费和不必要的事实之外,还有什么方法?再次收集:是的,只是浪费/不必要的意义上有问题。至于完整的示例,您是否需要我的大文件才能使示例更完整?您是在建议
设置内容
异步操作(这肯定是意外的),但我个人认为,在使用PSv5.1的W10上,使用诸如
'hi'>t.txt之类的命令,没有证据表明这一点;1..100000 |设置内容t.txt;notepad t.txt
。你的环境是什么?你能提供一个?另外,
-PassThru
收集所有要写入内存中文件的输出(同样),这对于大文件来说是有问题的。这只是我的假设。也许它不是设置内容本身,而是其他东西。关于你对-PassThru的评论,是的,当然,它会再次收集内存中的所有输出。有问题的除了浪费和不必要的事实之外,还有什么方法?重新收集:是的,只是浪费/不必要的意义上有问题。至于完整的示例,您是否需要我的大文件才能使示例更完整?