如何使用批处理文件在 Windows 10 中删除具有特定名称的文件?

苏达山拉吉

你能帮我一个批处理文件的命令来删除带有文件名的文件吗?

我需要根据文件名删除超过 6 个月的文件。我需要在任务调度程序中调度脚本,因此它会根据文件名每天删除特定位置的文件,这些文件从当前日期起超过 6 个月。

文件位置:

K:\Bck

文件名:

Backup_2020-10-22.txt
Backup_2020-10-21.txt
Backup_2019-09-16.txt
Backup_2018-05-17.txt
Backup_2017-04-16.txt
格哈德

这是Aacini's帖子的修改版本,从 2013 年开始。我只是修改它以用于powershell获取今天的日期,而不是使用特定于语言环境的%date%变量和一些更改来适应您的环境。所以我不相信这一切。

@echo off
setlocal EnableDelayedExpansion
pushd "K:\Bck"
for /f "tokens=*" %%i in ('PowerShell -Command "& {Get-Date -format 'yyyyMMdd'}"') do set todayDate=%%i
call :DateToJDN %todayDate% todayJDN=

for /F "tokens=1-4* delims=_-" %%a in ('dir /B /A-D "Backup_*-*-*.txt"') do (
   call :DateToJDN %%b%%c%%~nd fileJDN=
   set /A daysOld=todayJDN - fileJDN
   if !daysOld! gtr 180 (
      echo File "%%a_%%b-%%c-%%d" is !daysOld! days old
      del "%%a_%%b-%%c-%%d" /Q
   )
)
popd
goto :eof

:DateToJDN yyyymmdd jdn=
set yyyymmdd=%1
set /A yyyy=%yyyymmdd:~0,4%, mm=1%yyyymmdd:~4,2% %% 100, dd=1%yyyymmdd:~6% %% 100
set /A a=(mm-14)/12, %2=(1461*(yyyy+4800+a))/4+(367*(mm-2-12*a))/12-(3*((yyyy+4900+a)/100))/4+dd-32075
exit /B

这还不会删除任何内容。它只会将命令回显到屏幕上。如果您确定echo'd 结果与您想要的相似,您可以echo从行中删除echo del "%%a_%%b_%%c_%%d" /Q

您还需要在行中相应地设置您的日子 if !daysOld! gtr 180 (

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用Ansible在Windows中运行批处理文件

如何在Windows批处理文件中指定名称或路径中带有特殊字符的本地文件(如ä,ö,ü)?

在Windows批处理文件中的SET上使用变量

如何使用Windows批处理文件拆分文本文件元素?

如何正确转义Windows批处理文件中的括号?

使用批处理文件添加到PATH环境变量(Windows 10)

使用批处理文件创建并启动Windows 7或10服务?

如何将仍在运行的程序的输出写入Windows 10批处理文件中的变量

为什么我无法在Windows 10中运行的jenkins管道中运行批处理文件?

通过Windows 10上的Linux子系统使用批处理文件吗?

在Windows 10下批处理文件中获取目录或文件简称的问题

批处理文件在Windows 10中无法正确运行

如何使用批处理文件替换Windows文件名中的单个字符?

如何使用Windows批处理文件删除不包含某些字符的文件?

如何从批处理文件隐藏Windows 10提示符下的命令?

Windows-10批处理文件基于DATE命令,如何在较低的Windows版本上使用

如何在Windows 10中的批处理文件中从%〜dp0末尾删除空间

使用Windows批处理文件删除重复的文件

如果批处理文件正在重复休眠命令,如何退出休眠状态?(Windows 10)

如何删除批处理文件中具有特定名称的文件

如何通过批处理文件或命令提示符打开/关闭飞行模式(Windows 10)?

Windows 10中批处理文件中的%1无法恢复

Windows 10批处理文件,用于更改目录名称和移动目录

使用powershell编辑Windows批处理文件中的文件

如何使用批处理文件将文件从 USB 驱动器复制到 Windows 10 中的 C 驱动器?

无法为包含 .py 文件的批处理文件进行任务调度以在 Windows 10 中启动

在 Windows 10 中使用 VDesk 实用程序的批处理文件未按预期工作

如何创建批处理文件注意 Windows 版本然后使用 xml 文件导入任务

如何使用 Windows 批处理文件以 24 小时格式获取文件修改日期