Batch file 用于删除超过20分钟的文件的批处理脚本

Batch file 用于删除超过20分钟的文件的批处理脚本,batch-file,Batch File,嗨,我是批处理脚本新手,我想创建批处理脚本,删除超过20分钟的文件 我搜索了互联网,发现了一个批处理脚本: @echo关闭 ::Wmic消除了地区差异-文件名中的逗号存在问题。 setlocal 对于/f“tokens=2 delims==”('wmic OS Get localdatetime/value')中的%%a,请设置“dt=%%a” 设置“YY=%dt:~2,2%”和设置“yyy=%dt:~0,4%”和设置“MM=%dt:~4,2%”和设置“DD=%dt:~6,2%” 设置“HH=%

嗨,我是批处理脚本新手,我想创建批处理脚本,删除超过20分钟的文件

我搜索了互联网,发现了一个批处理脚本:

@echo关闭
::Wmic消除了地区差异-文件名中的逗号存在问题。
setlocal
对于/f“tokens=2 delims==”('wmic OS Get localdatetime/value')中的%%a,请设置“dt=%%a”
设置“YY=%dt:~2,2%”和设置“yyy=%dt:~0,4%”和设置“MM=%dt:~4,2%”和设置“DD=%dt:~6,2%”
设置“HH=%dt:~8,2%”和设置“Min=%dt:~10,2%”和设置“Sec=%dt:~12,2%”
设置“戳记=%YYYY%%MM%%DD%%HH%%Min%”
通话:DateToMinutes%stamp%NowMins
对于/f“delims=“%%a in('dir*/a-d/b'),请调用:CheckMins“%%~fa”
暂停
后藤:EOF
:支票
设置“filestamp=”
设置“filemins=”
设置“分钟=”
set“YY=“&set”yyy=“&set”MM=“&set”DD=”
设置“HH=”和设置“Min=”和设置“Sec=”和设置“dt=”
设置“文件=%~1”
设置“filea=%file:\=\\%”
WMIC数据文件,其中name=“%filea%”get-lastmodified | find“.”>file.tmp
对于(file.tmp)中的/f%%a,请设置“dt=%%a”
设置“YY=%dt:~2,2%”和设置“yyy=%dt:~0,4%”和设置“MM=%dt:~4,2%”和设置“DD=%dt:~6,2%”
设置“HH=%dt:~8,2%”和设置“Min=%dt:~10,2%”和设置“Sec=%dt:~12,2%”
设置“filestamp=%YYYY%%MM%%DD%%HH%%Min%”
del file.tmp 2>nul
如果未定义yyyy转到:EOF
调用:DateToMinutes%filestamp%FileMins
设置/a分钟数=%NowMins%-%filemin%
::立即回显:%NowMins%文件:%FileMins%Fileage:%minsold%“%~1”
如果%min销售%gtr 20删除“%file%”
后藤:EOF
:DateToMinutes
setlocal
设置yy=%1&设置mm=%2&设置dd=%3&设置hh=%4&设置nn=%5
如果1%yy%LSS 200如果1%yy%LSS 170(设置yy=20%yy%)其他(设置yy=19%yy%)
设置/一个dd=100%dd%%%100,mm=100%mm%%%100
设置/a z=14毫米,z/=12,y=yy+4800-z,m=mm+12*z-3,j=153*m+2
集合/a j=j/5+dd+y*365+y/4-y/100+y/400-2472633
如果1%hh%LSS 20设置hh=0%hh%
如果/i{%nn:~2,1%}eq{p}如果“%hh%”NEQ“12”集hh=1%hh%&集/a hh-=88
if/i{%nn:~2,1%}eq{a}如果“%hh%”eq“12”设置hh=00
如果/i{%nn:~2,1%}GEQ{a}集nn=%nn:~0,2%
设置/a hh=100%hh%%%100,nn=100%nn%%%100,j=j*1440+hh*60+nn
endlocal&设置%6=%j%&转到:EOF

但它会从当前目录中删除这些文件。但我的方案是从特定位置删除文件。

保存所有代码,改用
PowerShell

GCI'C:\Users\UserName\Folder'|?{!$\u PSIsContainer-和$\u.LastWriteTime-LT(获取日期).AddMinutes(-20)}Rm-Wh
C:\Users\UserName\Folder
更改为指定的文件夹

如果您对输出满意,请从末尾删除
-Wh
,然后再次运行它以执行实际删除

如果要执行以下操作,可以从批处理文件执行相同的操作:

警告这已经删除了
-Wh

@PowerShell-C“GCI”C:\Users\UserName\Folder'|?{!$\u PSIsContainer-和$\u.LastWriteTime-LT(获取日期).AddMinutes(-20)}| Rm”

它没有显示可用的实例我是批处理脚本的新手我不了解上面提到的任何代码。请您根据我的要求编辑代码。如果您不了解代码的其余部分在做什么,我们更改需要更改或添加的一行代码是没有意义的。那只是给一个人一条鱼,而不是教他们钓鱼。如果您需要让脚本在特定目录下工作,那么在脚本顶部添加一个更改目录命令。感谢它工作正常(更改目录命令)