关闭后删除 .txt 文件?

Delete a .txt file after it's closed?

我想在文件关闭后删除它。

示例:

$content | Out-File info.txt
Invoke-Item info.txt

这将打开内容为 $content 的文件 info.txt。

现在我只想,当这个文件关闭时,删除它。

知道怎么做吗?我想我需要做一些事情,比如检查 info.txt 是否打开,如果没有打开,则 运行 Remove-Item info.txt?

现在我使用这个 "dirty" 解决方案,它会在 3 秒后强制删除文件,让它有时间在记事本中打开:

Start-Sleep -s 3
Remove-Item -Force -ErrorAction SilentlyContinue info.txt

它在记事本中保持打开状态以供查看,即使它不再存在,当我关闭文件时它已经被删除所以它有点工作但我仍在寻找一种正确的方法来检查文件之前是否关闭删除。

因此,由于我的声誉,我只能在 'answer' 中回复。

基本上,我的评论会是 "Does this need to be opened in a text file?"

我的替代建议可能是执行以下操作之一

$content | Out-GridView

或者也许

$content | Format-Table

您应该仍能看到所有数据,并且仍然能够从中复制数据,而无需将文件保存到需要删除的任何地方。

这可以接受吗?

试试这个:

Start-Process Notepad.exe U:\test.txt -Wait
Remove-Item U:\test.txt