删除指定创建日期前的文件夹、文件

forfiles 命令

例:forfiles /p "c:\test" /s /m *.log /d -30 /c "cmd /c del @path /q /f"
删除 c:\test及子目录下 所有log扩展名 修改时间在30天以前的文件



例:删除 c:\test及子目录下 所有log扩展名 修改时间在30天以前的文件
set SrcDir=E:\software
set DaysAgo=7
forfiles /p %SrcDir% /s /d -%DaysAgo% /c "cmd /c del /f /q /a @path && rd /s /q @path"


例:逻辑盘空间不足10G

@echo off
set vol=E
for /f "tokens=2* delims=:" %%a in ('fsutil volume diskfree %vol%:') do set free=%%a
set free=%free:~0,-6%
echo %free%
if %free% lss 10000 echo 这个逻辑盘空间不足10G




@path是forfiles命令中/c 参数变量

默认命令是 "cmd /c echo @file"。下列变量
可以用在命令字符串中:
@file    - 返回文件名。
@fname   - 返回不带扩展名的文件名。
@ext     - 只返回文件的扩展。
@path    - 返回文件的完整路径。
@relpath - 返回文件的相对路径。
@isdir   - 如果文件类型是目录,返回 "TRUE";如果是文件,返回 "FALSE"。
@fsize   - 以字节为单位返回文件大小。
@fdate   - 返回文件上一次修改的日期。
@ftime   - 返回文件上一次修改的时间。

转载于:https://www.cnblogs.com/chenghu/p/7323743.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以使用Python的os模块来实现,代码如下: import os from datetime import datetime, timedelta# 获取指定日期日期 def get_date(days): return datetime.now() - timedelta(days=days)# 获取指定文件夹下的文件 def list_files(path): # 列出文件夹下所有的文件 files = os.listdir(path) for file in files: file_path = os.path.join(path, file) # 判断文件是否是文件夹 if os.path.isdir(file_path): list_files(file_path) else: # 获取文件修改时间 mtime = os.stat(file_path).st_mtime # 将时间戳转换为datetime格式 mtime_date = datetime.fromtimestamp(mtime) # 判断文件修改时间是否早于指定日期 if mtime_date < get_date(7): os.remove(file_path)# 指定文件夹 path = './data' list_files(path) ### 回答2: 您好!下面是一个可以实现在Windows系统中删除指定日期所有文件的Python脚本。 首先,我们需要使用`os`模块来操作文件文件夹。代码如下: ```python import os import datetime def delete_files_before_date(folder_path, date): for foldername, subfolders, filenames in os.walk(folder_path): for filename in filenames: file_path = os.path.join(foldername, filename) file_creation_date = datetime.datetime.fromtimestamp(os.path.getctime(file_path)) if file_creation_date < date: os.remove(file_path) print(f"Deleted file: {file_path}") folder_path = "C:/Path/To/Folder" # 替换为要删除文件文件夹路径 date = datetime.datetime(2022, 1, 1) # 替换为指定日期 delete_files_before_date(folder_path, date) ``` 上述代码首先导入了`os`和`datetime`模块。然后定义了一个名为`delete_files_before_date`的函数,该函数接受文件夹路径和日期作为参数。在函数内部,使用`os.walk`遍历文件夹及其子文件夹下的所有文件文件夹。 对于每个文件,我们获取其创建日期,并将其与指定日期进行比较。如果创建日期早于指定日期,就使用`os.remove`删除文件,并打印出被删除文件路径。 最后,我们传入要删除文件文件夹路径和指定日期调用`delete_files_before_date`函数。 请注意,在运行该脚本之,请先确认指定文件夹路径和日期是否正确,并确保已备份重要文件。 ### 回答3: 你好!下面是一个可以在Windows系统中删除一个文件夹指定日期的所有文件的Python脚本。 ```python import os import datetime def delete_files_before_date(folder_path, date): # 遍历文件夹中的所有文件文件夹 for root, dirs, files in os.walk(folder_path): for file in files: file_path = os.path.join(root, file) # 获取文件创建时间 created_time = datetime.datetime.fromtimestamp(os.path.getctime(file_path)) # 判断创建时间是否早于指定日期 if created_time < date: # 删除文件 os.remove(file_path) print("已删除文件:", file_path) folder_path = "C:\\你的文件夹路径" # 替换为你要删除文件文件夹路径 date = datetime.datetime(2022, 1, 1) # 替换为你要指定日期,格式为年、月、日 delete_files_before_date(folder_path, date) ``` 请将代码中的`"C:\\你的文件夹路径"`替换为你想要删除文件文件夹的实际路径,将`datetime.datetime(2022, 1, 1)`替换为你希望指定日期(年、月、日)。然后运行该Python脚本,它将删除指定日期的所有文件,并输出已删除文件路径。请确保在运行脚本之备份重要的文件,以防需要恢复。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值