本文目录导读:

我可以为您提供几种批量转换Markdown文件的方法,以下是常用的脚本解决方案:
使用Python脚本(推荐)
import os
import glob
import markdown
from pathlib import Path
def convert_md_to_html(input_dir, output_dir):
"""批量将Markdown文件转换为HTML"""
# 确保输出目录存在
Path(output_dir).mkdir(parents=True, exist_ok=True)
# 获取所有.md文件
md_files = glob.glob(os.path.join(input_dir, "*.md"))
for md_file in md_files:
# 读取Markdown文件
with open(md_file, 'r', encoding='utf-8') as f:
md_content = f.read()
# 转换为HTML
html_content = markdown.markdown(md_content, extensions=['extra', 'codehilite'])
# 生成输出文件名
output_file = os.path.join(output_dir,
Path(md_file).stem + '.html')
# 写入HTML文件
with open(output_file, 'w', encoding='utf-8') as f:
f.write(f'''<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">{Path(md_file).stem}</title>
</head>
<body>
{html_content}
</body>
</html>''')
print(f"转换完成: {md_file} -> {output_file}")
# 使用示例
convert_md_to_html("./markdown_files", "./html_output")
使用Pandoc命令行工具
#!/bin/bash
# 批量转换脚本 (Linux/Mac)
INPUT_DIR="./markdown"
OUTPUT_DIR="./output"
# 创建输出目录
mkdir -p "$OUTPUT_DIR"
# 批量转换所有.md文件
for file in "$INPUT_DIR"/*.md; do
if [ -f "$file" ]; then
filename=$(basename "$file" .md)
echo "转换中: $file"
pandoc "$file" -o "$OUTPUT_DIR/$filename.html"
fi
done
echo "批量转换完成!"
Windows PowerShell脚本
# PowerShell批量转换脚本
$inputDir = ".\markdown"
$outputDir = ".\output"
# 创建输出目录
New-Item -ItemType Directory -Force -Path $outputDir
# 获取所有.md文件
$files = Get-ChildItem -Path $inputDir -Filter "*.md"
foreach ($file in $files) {
$outputFile = Join-Path $outputDir ($file.BaseName + ".html")
Write-Host "正在转换: $($file.Name)"
# 使用pandoc转换
pandoc $file.FullName -o $outputFile
}
Write-Host "批量转换完成!"
使用Node.js脚本
// npm install marked fs-extra glob
const fs = require('fs-extra');
const glob = require('glob');
const marked = require('marked');
const path = require('path');
async function batchConvertMarkdown(inputDir, outputDir) {
// 确保输出目录存在
await fs.ensureDir(outputDir);
// 查找所有.md文件
const files = glob.sync(`${inputDir}/**/*.md`);
for (const file of files) {
try {
// 读取Markdown内容
const mdContent = await fs.readFile(file, 'utf-8');
// 转换为HTML
const htmlContent = marked.parse(mdContent);
// 生成输出路径
const relativePath = path.relative(inputDir, file);
const outputPath = path.join(
outputDir,
relativePath.replace('.md', '.html')
);
// 确保输出目录存在
await fs.ensureDir(path.dirname(outputPath));
// 写入HTML文件
await fs.writeFile(outputPath, htmlContent);
console.log(`转换成功: ${file} -> ${outputPath}`);
} catch (error) {
console.error(`转换失败: ${file}`, error);
}
}
}
// 使用示例
batchConvertMarkdown('./markdown', './output');
批量转换其他格式
# 转换为其他格式的示例
import subprocess
import os
def batch_convert_pandoc(input_dir, output_dir, input_format="md", output_format="pdf"):
"""使用Pandoc批量转换格式"""
os.makedirs(output_dir, exist_ok=True)
for file in os.listdir(input_dir):
if file.endswith(f".{input_format}"):
input_path = os.path.join(input_dir, file)
output_path = os.path.join(output_dir,
file.replace(f".{input_format}", f".{output_format}"))
cmd = f"pandoc {input_path} -o {output_path}"
subprocess.run(cmd, shell=True)
print(f"转换完成: {file}")
# 使用示例:MD转PDF
batch_convert_pandoc("./md_files", "./pdf_output", "md", "pdf")
安装依赖
Python方式:
pip install markdown
Pandoc方式:
- Linux:
sudo apt-get install pandoc - Mac:
brew install pandoc - Windows: 下载安装包
Node.js方式:
npm install marked fs-extra glob
这些脚本可以满足常见的Markdown批量转换需求,您可以根据具体需求选择合适的方式。
版权声明:NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播