Windows – Powershell:单个脚本来“清理”多个文件的多个文件
发布时间:2020-12-13 23:26:01 所属栏目:Windows 来源:网络整理
导读:我想创建一个维护脚本,它将在我们的每个服务器上运行,以清理常见的drop / archive目录.优选地,脚本将使用参考文件用于文件夹路径和期望的老化限制.然后脚本将清除早于老化限制的文件路径.输入参考文件看起来像这样: c:logsiissiteA 30c:logsjob1 60e
我想创建一个维护脚本,它将在我们的每个服务器上运行,以清理常见的drop / archive目录.优选地,脚本将使用参考文件用于文件夹路径和期望的老化限制.然后脚本将清除早于老化限制的文件路径.输入参考文件看起来像这样:
c:logsiissiteA 30 c:logsjob1 60 e:archiveclientA 90 第一个组件是文件路径;第二个是应保留文件的天数,用空格分隔. 现在为脚本我有以下内容;但是,我对脚本编写经验感到尴尬. (我更注重网络化) #Attempted loop Foreach ($ParentDir = Get-Content .paths.txt $arg1,$arg2) {$limit = (Get-Date).AddDays(-$arg2) $path = $ParentDir # Delete files older than the $limit. Get-ChildItem -Path $path -Recurse -Force | Where-Object { !$_.PSIsContainer -and $_.CreationTime -lt $limit } | Remove-Item -Force} 我觉得逻辑很接近,但我的语法已关闭.我的方法可行吗?有没有更好的办法?你能帮忙解决这个问题吗?使用poweshell v3. 信用额度归功于我从this邮政deadlydog起采取的大量逻辑.
编辑包含您请求的文本文件
c:logsiissiteA -30 c:logsjob1 -60 e:archiveclientA -90 我测试了新的代码与我所处的内容分开,但我认为它应该仍然可以做你想要的. $controlfile = "c:pathtoyourfile.txt" $curr_date = Get-Date New-Item -ItemType directory -Path f:delete foreach ($line in get-content $controlfile) { $split = $line.split(" ") $file_path = $split[0] $max_days = $split[1] $del_date = $curr_date.AddDays($max_days) # move the files to the kill directory Get-ChildItem $file_path | Where-Object { $_.LastWriteTime -lt $del_date } | Move-Item -destination "f:delete" } 它将它移动到另一个目录的原因是因为there’s apparently a bug in recursive deletes,我的数据是很多,很多子目录很深,所以一旦我把所有东西都移到了kill目录,我运行它: del /f/s/q f:delete > nul rmdir /s/q f:delete 如果您没有这个问题,可以将其添加到PowerShell的上述位置的末尾: $del_dir = "f:delete" $fso = New-Object -ComObject scripting.filesystemobject $fso.DeleteFolder($del_dir) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- wcf – 用于声明模式xRM(Microsoft Dynamics CRM 2011)的Ap
- windows – 在`shift`之后使用`%*`
- WIN10关闭同步主机服务
- 在Windows上远程连接Linux图形界面
- 如何在Windows 7上安装Python 3.5的cvxopt
- .net – 错误“无法找到为主方法指定的xxxx.Program”从MS示
- 新建的模态窗口失去了重点,在Windows Vista中变得无法使用
- botframework – Microsoft Bot Framework:例外:数据已更
- exchange-2003 – Exchange Server 2003碎片整理计时
- windows-7 – 更新文件或文件夹修改日期
推荐文章
站长推荐
热点阅读