PowerShell 拷贝某段时间内的文件
2016-01-27 10:45
323 查看
使用 Windows 进行备份,需要备份某一段时间内的文件。但是使用原始的批处理(bat)计算比较麻烦,如之前的文章 forfiles 和 xcopy 在windows下拷贝N天内更改过的文件 。所以寻找了更简单的方法,可以使用 powershell 来计算需要拷贝的文件。脚本编写好后可以使用 Windows
任务计划程序定时执行 powershell 脚本 。
以下为简单的处理脚本:拷贝当天(0天内)1小时内的日志文件到其他目录中
其实还可以设置更精确,参考函数:AddYears、AddMonths、AddDays、AddHours、AddMinutes、AddSeconds、AddMilliseconds、AddTicks
任务计划程序定时执行 powershell 脚本 。
以下为简单的处理脚本:拷贝当天(0天内)1小时内的日志文件到其他目录中
<# Get-ExecutionPolicy Set-ExecutionPolicy Unrestricted Function:拷贝N天或N小时内的文件 Author:hzc CreateDate: 2016/01/27 #> $SourceDir = "D:\日志备份" $DestinationDir = "E:\备份\Log" $AddDays = 0 #增加的天数,可正可负 $AddHours = -1 #增加的小时,可正可负 $SourceFileArray = Get-ChildItem -Path $SourceDir -Recurse | Where-Object -FilterScript {($_.LastWriteTime -gt (Get-Date).AddDays($AddDays).AddHours($AddHours))} | Select-Object -ExpandProperty Name $date = Get-Date Write-Host "$date 拷贝开始……" foreach ( $file in $SourceFileArray ){ $SourcePath = $SourceDir + "\" +$file Copy-Item -Path $SourcePath -Destination $DestinationDir $date = Get-Date Write-Host "$date 完成:" + $SourcePath } $date = Get-Date Write-Host "$date 拷贝完成!"
其实还可以设置更精确,参考函数:AddYears、AddMonths、AddDays、AddHours、AddMinutes、AddSeconds、AddMilliseconds、AddTicks
相关文章推荐
- shell数学运算 与makefile, python , java
- shell编程学习2
- shell编程中for/while/until循环命令
- centos shell编程4【分发系统】 服务器标准化 mkpasswd 生成密码的工具 expect讲解 expect传递参数 expect自动同步文件 expect指定host和要同步的文件 expect文件分发系统 expect自动发送密钥脚本 Linux脚本执行方式 第三十八节课
- Shell脚本快速部署Kubernetes集群系统
- Shell Script 学习 day_2 指令sed
- shell脚本获取当前脚本所在位置
- KVM之初体验——手动及自动化安装KVM脚本
- Linux Shell 文本处理工具集锦
- shell编程学习1
- shell & dialog
- 系统管理中 bash shell 脚本常用方法总结
- Linux下profile和bashrc四种的区别
- 常用Shell基本命令
- 如何用powershell在windowsazure上建立DS系列虚机
- -bash: vim,ls: No such file or directory
- adb shell 常用命令
- [Java] Java执行Shell命令
- shell scripts
- ShellExecuteA