# 文件名清理器

清理和消毒文件名，移除Windows、Linux和Mac的非法字符

> 标准页面: https://elysiatools.com/zh/tools/filename-sanitizer

- **分类:** Text Processing

- **关键词:** filename, sanitizer, clean, illegal, windows, linux, mac, safe, Filename Sanitizer

## 概述

### 文件名清理器

这个工具可以帮助你：

1. **移除非法字符**：删除所有操作系统禁止的文件名字符
2. **Windows兼容**：移除 < > : " / \ | ? * 和控制字符
3. **Linux/Mac兼容**：移除 / 和空字符
4. **自定义替换**：选择用于替换非法字符的字符
5. **修剪选项**：可选去除首尾空格和点
6. **长度限制**：可选限制文件名最大长度

**Windows非法字符：**
- < (小于)
- > (大于)
- : (冒号)
- " (双引号)
- / (正斜杠)
- \ (反斜杠)
- | (竖线)
- ? (问号)
- * (星号)
- 控制字符 (0-31)

**使用场景：**
- 清理用户上传的文件名
- 准备文件名用于跨平台使用
- 批量重命名文件
- 防止文件系统错误

## 输入项

- **文件名** (text): Enter filename to sanitize...
- **替换字符** (text): Character to replace illegal characters with
- **修剪空白** (checkbox): Remove leading and trailing whitespace
- **修剪首尾点** (checkbox): Remove leading and trailing dots (can cause issues in some systems)
- **最大长度** (number): Maximum filename length (0 = no limit, Windows typically limits to 255)

## 适用场景

- 当您需要将文件从 Windows 迁移到 Linux 或 macOS 系统时。
- 当您处理用户上传的文件，需要确保文件名安全且无非法字符时。
- 当您需要批量重命名文件以符合严格的文件系统命名规范时。

## 工作原理

- 输入您需要清理的文件名。
- 选择用于替换非法字符的字符（默认为下划线）。
- 根据需要勾选修剪空白、修剪首尾点或设置最大长度限制。
- 点击处理，工具将自动移除所有非法字符并返回合规的新文件名。

## 使用案例

- 清理用户上传的包含特殊符号的附件文件名。
- 为跨平台共享的压缩包准备标准化的文件名。
- 修复因文件名包含非法字符而导致无法同步到云端的文件。

## 常见问题

### 哪些字符会被视为非法字符？

主要包括 Windows 系统禁止的 <, >, :, ", /, \, |, ?, * 以及控制字符 (0-31)，同时也会处理 Linux/Mac 系统中的 / 和空字符。

### 我可以自定义替换非法字符吗？

可以，您可以在“替换字符”选项中指定任何您想要的字符，默认情况下使用下划线 (_) 进行替换。

### 该工具是否支持批量处理？

该工具目前专注于单个文件名的清理与消毒，确保每个文件名都能精准符合您的配置要求。

### 为什么需要修剪首尾的点？

在某些操作系统中，以点开头或结尾的文件名可能会导致隐藏文件显示问题或被系统误认为无效路径，修剪它们可以提高兼容性。

### 文件名长度有限制吗？

有的，您可以设置最大长度限制。Windows 系统通常建议文件名不超过 255 个字符，您可以根据实际需求进行调整。

## 相关工具

- [数字格式清理器](https://elysiatools.com/zh/tools/number-format-cleaner): 统一和清理文本中的各种数字格式，确保一致性
- [Markdown转纯文本](https://elysiatools.com/zh/tools/markdown-to-plain-text): 将Markdown格式文本转换为纯文本，移除所有Markdown语法和格式
- [去除重复行](https://elysiatools.com/zh/tools/remove-duplicate-lines): 对列表或文本块中的行去重。保留每行的首次或最后一次出现，支持区分大小写、比较前修剪空白和忽略空行。
- [数组元素删除器](https://elysiatools.com/zh/tools/array-element-deleter): 删除数组中的指定元素，支持多种删除方法
- [文本压缩器](https://elysiatools.com/zh/tools/text-compressor): 通过移除多余空格、换行和不必要的空白来压缩文本，同时保留内容结构
- [空白字符标准化](https://elysiatools.com/zh/tools/whitespace-normalizer): 将连续的多个空格/制表符替换为单个空格;去除行首行尾空白
- [HTML标签清理器](https://elysiatools.com/zh/tools/html-tag-stripper): 移除HTML标签，提取干净的文本内容
- [截尾平均计算器](https://elysiatools.com/zh/tools/trimmed-mean-calculator): 从低端和高端删除相同比例的数据后计算截尾平均

## 示例

- [非法文件名示例](https://elysiatools.com/zh/samples/filename-illegal-characters-samples): 用于测试文件名清理的非法字符、保留名称和跨平台问题的示例文件名
- [正则替换示例](https://elysiatools.com/zh/samples/regex-replace): 用于文本转换和数据清洗的常用正则替换模式集合
- [Windows 文件操作 - C++ 示例](https://elysiatools.com/zh/samples/windows-file-operations-cpp): Windows平台C++文件操作示例，包括文本文件读写、文件复制和目录遍历
- [Windows 文件操作 - C# 示例](https://elysiatools.com/zh/samples/windows-file-operations-csharp): Windows平台C#文件操作示例，包括文本文件读写、文件复制、目录遍历和文件系统操作
