本文目录导读:

使用 Bash Shell 脚本
基础文件列表
#!/bin/bash # generate_file_list.sh # 自动获取当前目录下的所有文件 ls -la > file_list.txt echo "文件列表已保存到 file_list.txt" # 或者使用 find 获取详细路径 find . -type f > files.txt
递归列出所有文件
#!/bin/bash # 递归列出所有文件(包含子目录) find /path/to/directory -type f -name "*.txt" > text_files.txt # 列出所有文件及大小 ls -lhR > full_listing.txt
使用 Python 脚本
简单版本
# generate_file_list.py
import os
def generate_file_list(directory, output_file):
"""生成目录下所有文件的列表"""
with open(output_file, 'w', encoding='utf-8') as f:
for root, dirs, files in os.walk(directory):
for file in files:
f.write(os.path.join(root, file) + '\n')
print(f"文件列表已保存到 {output_file}")
# 使用示例
generate_file_list('.', 'file_list.txt')
带文件信息的版本
import os
from datetime import datetime
def generate_detailed_file_list(directory, output_file):
"""生成带详细信息(大小、修改时间)的文件列表"""
with open(output_file, 'w', encoding='utf-8') as f:
for root, dirs, files in os.walk(directory):
for file in files:
filepath = os.path.join(root, file)
try:
# 获取文件信息
stat = os.stat(filepath)
size = stat.st_size
mtime = datetime.fromtimestamp(stat.st_mtime).strftime('%Y-%m-%d %H:%M:%S')
# 写入信息
f.write(f"{filepath}\t{size} bytes\t{mtime}\n")
except:
pass
print(f"详细文件列表已保存到 {output_file}")
# 使用示例
generate_detailed_file_list('.', 'detailed_file_list.txt')
使用 Node.js 脚本
// generate_file_list.js
const fs = require('fs');
const path = require('path');
function generateFileList(directory, outputFile) {
const results = [];
function walkDirectory(dir) {
const files = fs.readdirSync(dir);
files.forEach(file => {
const filePath = path.join(dir, file);
const stat = fs.statSync(filePath);
if (stat.isDirectory()) {
walkDirectory(filePath);
} else {
results.push({
path: filePath,
size: stat.size,
modified: stat.mtime
});
}
});
}
walkDirectory(directory);
// 写入文件
const content = results.map(file =>
`${file.path}\t${file.size} bytes\t${file.modified.toISOString()}`
).join('\n');
fs.writeFileSync(outputFile, content);
console.log(`文件列表已保存到 ${outputFile}`);
}
// 使用示例
generateFileList('.', 'file_list.txt');
PowerShell 脚本
# generate_file_list.ps1
param(
[string]$Path = ".",
[string]$OutputFile = "file_list.txt"
)
# 生成文件列表
Get-ChildItem -Path $Path -Recurse -File |
Select-Object FullName, Length, LastWriteTime |
Export-Csv -Path $OutputFile -NoTypeInformation
Write-Host "文件列表已保存到 $OutputFile"
实用脚本对比表
| 方法 | 适用场景 | 优点 | 缺点 |
|---|---|---|---|
| Bash | Linux/Mac 快速操作 | 简单快速,系统自带 | 跨平台差 |
| Python | 复杂数据处理 | 功能强大,可定制 | 需要环境 |
| Node.js | Web 项目集成 | 与现代项目集成好 | 需要Node环境 |
| PowerShell | Windows 系统 | 功能强大,集成好 | 仅限Windows |
高级功能示例
过滤特定文件类型
#!/bin/bash # 只列出特定类型的文件 find . -type f \( -name "*.pdf" -o -name "*.docx" \) > documents.txt
生成 CSV 格式
import os
import csv
def generate_csv(directory, output_file):
with open(output_file, 'w', newline='') as csvfile:
writer = csv.writer(csvfile)
writer.writerow(['File Path', 'Size', 'Modified Time'])
for root, dirs, files in os.walk(directory):
for file in files:
filepath = os.path.join(root, file)
stat = os.stat(filepath)
writer.writerow([filepath, stat.st_size, stat.st_mtime])
print(f"CSV 文件已生成: {output_file}")
选择哪种方法取决于你的:
- 操作系统(Windows/Linux/Mac)
- 使用频率(一次性还是定期运行)
- 输出格式要求(纯文本、CSV、JSON)
- 环境依赖(是否已有Python/Node.js)
版权声明:足球直播
足球直播
足球直播
足球直播
足球直播
中超直播
中超直播
中超直播
中超直播
中超直播
英超直播
英超直播
英超直播
英超直播
英超直播
德甲直播
德甲直播
德甲直播
德甲直播
德甲直播
西甲直播
西甲直播
西甲直播
西甲直播
西甲直播
意甲直播
意甲直播
意甲直播
意甲直播
意甲直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
足球直播
足球直播
足球直播
足球直播
足球直播
中超直播
中超直播
中超直播
中超直播
中超直播
英超直播
英超直播
英超直播
英超直播
英超直播
德甲直播
德甲直播
德甲直播
德甲直播
德甲直播
西甲直播
西甲直播
西甲直播
西甲直播
西甲直播
意甲直播
意甲直播
意甲直播
意甲直播
意甲直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
足球直播
足球直播
足球直播
足球直播
足球直播
中超直播
中超直播
中超直播
中超直播
中超直播
英超直播
英超直播
英超直播
英超直播
英超直播
德甲直播
德甲直播
德甲直播
德甲直播
德甲直播
西甲直播
西甲直播
西甲直播
西甲直播
西甲直播
意甲直播
意甲直播
意甲直播
意甲直播
意甲直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播