我有一个JTable,它使用a TableColumnModelListener()
来检测列何时重新调整大小,并且我有一些我想在该columnMarginChanged()
方法中执行的代码.
如何确定列是由用户重新调整大小还是作为其他代码的结果?
我想我必须从头开始,ChangeEvent.getSource()
但我不知道从那里去哪里.
谢谢.
好的,我有一个我在powershell中编写的脚本,它将删除回收站中的旧文件.我希望它删除回收站中超过2天前删除的所有文件.我对此做了大量研究,但没有找到合适的答案.
这是我到目前为止(在线发现脚本,我不太了解powershell):
$Path = 'C' + ':\$Recycle.Bin'
Get-ChildItem $Path -Force -Recurse -ErrorAction SilentlyContinue |
#Where-Object { $_.LastWriteTime -lt (Get-Date).AddDays(-3) } |
Remove-Item -Recurse -exclude *.ini -ErrorAction SilentlyContinue
Run Code Online (Sandbox Code Playgroud)
它有一个例外,它检查文件参数"LastWriteTime".如果用户在修改文件的同一天删除文件,那就太棒了.否则它会失败.
如何修改此代码,以便检查文件何时被删除,而不是在写入文件时.
- 旁注,如果我从Microsoft Server 2008上的管理员帐户运行此脚本,它是否适用于所有用户回收箱或仅我的?
回答:
对我有用的代码是:
$Shell = New-Object -ComObject Shell.Application
$Global:Recycler = $Shell.NameSpace(0xa)
foreach($item in $Recycler.Items())
{
$DeletedDate = $Recycler.GetDetailsOf($item,2) -replace "\u200f|\u200e",""
$dtDeletedDate = get-date $DeletedDate
If($dtDeletedDate -lt (Get-Date).AddDays(-3))
{
Remove-Item -Path $item.Path -Confirm:$false -Force -Recurse
}#EndIF
}#EndForeach item
Run Code Online (Sandbox Code Playgroud)
它对我来说很棒,但是还有两个问题......如何使用多个驱动器?这适用于所有用户还是仅适用于我?