- 工作中以前是用bat script写按日期生成文件夹,过一段后都是手动移动到固定文件夹里,不然的话,工作目录里一大堆文件夹,找最近使用的也不方便
- 现在的想法是以下这样
2.1在work目录下,每天按系统时间生成文件夹,如果存在,就不生成,不存在就生成,work下同时创建一个公共文件夹,放常用的东西
2.2每到新的一个月,就把上个月的文件夹打包,并按yyyyMM格式命名,work下的文件夹删除
2.3每到新的一年就把上一年的压缩包打包成一个包,并按年份yyyy命名,这部分和月份处理类似,就不浪费时间了
3.首先按日期生成文件夹
$date = Get-Date -Format "yyyyMMdd"
if (!(Test-Path -Path ./$date)) {
New-Item -Path . -Name $date -ItemType "directory"
}
if (!(Test-Path -Path ./"公共文件夹")) {
New-Item -Path . -Name "公共文件夹" -ItemType "directory"
}
4.把上个月的文件夹打包,并删除文件夹
4.1创建上个月的文件夹,执行以下代码生成20230701~20230731的文件夹
1..31 | %{
mkdir ("202307{0:D2}" -f $_)}
※%{}是foreach(Foreach-Object)的简写
※{0:D2}是Powershell的format写法,参见Windows PowerShell Tip of the Week
※Windows PowerShell Tip of the Week里的例子

官网例子:
$a = 348
"{0:N2}" -f $a

本文介绍了如何使用Powershell脚本来自动按日期生成文件夹,避免工作目录混乱,并定期打包和整理历史文件,包括每月和每年的归档操作。作者详细展示了如何使用Get-Date,AddMonths,Test-Path等命令实现这一功能。
最低0.47元/天 解锁文章
611

被折叠的 条评论
为什么被折叠?



