写一个批量删除带有特定字符的文件的python代码
时间: 2023-06-06 15:07:07 浏览: 101
可以使用os库中的walk()函数遍历指定目录下的所有文件,再使用os库中的remove()函数删除符合条件的文件。
代码如下:
```
import os
def delete_files_with_strings(dir_path, strings):
for root, dirs, files in os.walk(dir_path):
for file_name in files:
if strings in file_name:
os.remove(os.path.join(root, file_name))
# 测试代码
delete_files_with_strings('/path/to/your/dir', 'specific_string')
```
其中,`dir_path` 为指定目录的路径,`strings` 为需要删除的文件名包含的特定字符串。使用示例代码中的 `delete_files_with_strings()` 函数即可实现批量删除。
相关问题
如何使用BAT脚本批量将TXT文件中的特定信息提取并存储到Excel表格中?
要使用BAT脚本批量将TXT文件中的特定信息提取并存储到Excel表格中,可以借助Windows自带的命令行工具`type` 和 `copy`,以及外部的批处理操作工具如`for`循环和`findstr`(用于查找字符串),配合`echo`和`echo >`命令生成临时CSV文件,最后利用`xlsxwriter`之类的第三方工具转换成Excel。这里是一个简化示例:
```bat
@echo off
setlocal enabledelayedexpansion
set "dir_path=C:\your\file\path" % -- 替换为你TXT文件所在的目录
set "search_string=your_search_text" % -- 要查找的信息
set "output_file=output.xlsx"
(for /F "tokens=*" %%f in ('dir /b "%dir_path%\*.txt"') do (
echo %%~tf >> temp.csv % -- 获取文件名及路径,追加到临时CSV
for /F "tokens=* delims=!^" %%g in ('findstr /i "^!%search_string%" "%%f"') do (
echo %%g >> temp.csv
)
))
python -m xlsxwriter "temp.csv" "output.xlsx" % -- 如果有Python环境,用此行替换,如果没有,则安装相应的Excel处理库如pandas和openpyxl
del temp.csv % -- 删除临时CSV文件
echo Done.
pause
```
注意:这个脚本假设你已经安装了Python和`xlsxwriter`库(如果需要的话)。另外,如果你的TXT文件结构复杂,可能需要调整`findstr`的正则表达式来匹配你需要的模式。
阅读全文