# 文件操作

Navigation: 使用 TreeSize 文件搜索 > # 文件操作 |

通过此功能，您可以将搜索结果列表中所有选中的文件和文件夹移动到您选择的目的地，将它们存档到 ZIP 文件中，删除它们或处理文件。可在"主页 > 移动项目"中访问此功能。

附加选项允许你根据自己的需要定制文件操作。

下表列出了各个功能的说明：

文件操作：

### 删除项目 | 在安全提示后删除所有选定文件。如果激活了 "移动到回收站 "选项，文件将被移动到回收站。否则将从硬盘中删除。 信息：在未设置上述功能的情况下进行的删除操作无法轻易撤销。
### 移动项目 | 将选定的文件移动到指定路径。可选择在原位置创建快捷方式或链接，每个快捷方式或链接都指向被移动对象的新位置。如果需要，还可以复制安全属性。如果不这样做，被移动的文件将从其父元素继承安全属性（与通常一样）。
### 复制项目 | 将选定的文件复制到指定路径。如果需要，还可以复制安全属性。如果不这样做，被移动的文件将继承其父元素的安全属性（与往常一样）。
### 压缩项目 | 将选定的文件移动到指定的 ZIP 压缩包中。
### 将项目作为参数传递给可执行文件 | 为每个标记的文件调用一个可自由选择的可执行文件，并将文件的绝对路径作为第一个参数传递给命令行。可执行文件也可以是批处理文件、PowerShell 脚本、VBScript 或类似文件。Windows 脚本FileSystemObject提供了功能强大且易于使用的文件系统和路径操作。

选项

### 移动到回收站（如果可用） | 您可以在此指定是将所选项目移至回收站，还是直接从硬盘中删除。 注意：该选项仅适用于"删除 "操作。
### 跳过/重命名/替换/仅替换现有旧文件 | 在此，您可以决定在文件操作过程中发生名称碰撞时应如何处理，即在目的地已经存在同名文件。您可以保留现有文件、用新文件替换或重命名现有文件。 注意：该选项仅适用于"压缩"、 "移动 "和"复制 "操作。刻录到光盘时不支持。
### 操作后删除空文件夹 | 自动删除因移动操作而不再包含文件或其他文件夹的所有文件夹。
### 压缩后保留原始项目 | 启用此选项可确保将原始文件复制到 Zip 文件后不会被删除。 注意：此选项仅适用于"压缩 "操作。
### 保留原始项目的权限 | 启用此选项后，原始文件的访问权限将应用到目标中移动的每个文件。 注意：此选项仅适用于"移动 "和"复制 "操作。刻录到光盘时不支持。
### 保留目录结构，从级开始 | 通过该选项可以指定应在哪一级保留文件的目录结构。目录结构的前 x 层不会在目标位置重建。 例如，如果你将文件 "C:\User\Mayer\My Document.doc "移动到目标文件夹 "D:\Old Files\"，根据你选择的 x 值，你将得到以下结果： x = 0 > 'D:\Old Files\C\User\Mayer\My Document.doc' x = 1 > 'D:\old files\user\Mayer\My document.doc' x = 2 > 'D:\old files\Mayer\My Document.doc' 注意：该选项仅适用于"移动 "和"复制 "操作。
### 保留原始项目的时间戳 | 启用此选项后，原始文件的时间戳会应用到目标中移动的每个文件。 注意：该选项仅适用于"移动 "和"复制 "操作。刻录到光盘时不支持。
### 在原始位置保留指向新位置的快捷方式链接 | 如果启用此选项，将在原始位置创建一个快捷方式或链接，指向文件被移动到的新位置。如果选择了 "链接"，且文件位于同一分区，则会创建硬链接。如果无法创建硬链接，则会创建符号链接。如果也无法创建，则会创建 Windows 快捷方式。 注意：该选项仅适用于"移动 "操作。

日志记录：

### 记录已执行的操作： | 在您选择的目录中创建一个日志，日志名称由您选择。文件名中可以使用 %DATE% 或 %TIME% 等环境变量。
### 创建撤销脚本： | 创建一个批处理文件，可在移动操作后执行，以撤销此操作对文件系统所做的更改。 注意：此选项仅适用于"移动 "和"复制 "操作。刻录到光盘时不支持。

## 记录

提示：我们建议您记录所有移动、删除和存档操作。这样可以提高系统的安全性和清晰度。

生成的日志文件会列出跟踪所执行的文件操作所需的所有详细信息。日志以文本格式保存，如下所示

25.06.2020 11:39:50: 开始文件操作。 25.06.2020 11:39:50: 复制以下对象到 "D:\MyDocs"： 25.06.2020 11:39:50: "F:\Docs\movielist.docx" => "D:\MyDocs\movielist.docx" 2020-06-25 11:39:50: "F:\Docs\log.txt" => "D:\MyDocs\log.txt" 25.06.2020 11:39:50: "F:Docs\Screenshot.jpg" => "D:\MyDocs\Screenshot.jpg" 25.06.2020 11:39:50: 文件操作完成。 25.06.2020 11:39:50: 受影响对象：3 (125,90 KB) | 失败对象：0

## 使用 SharePoint 示例的 PowerShell 脚本

我们想通过一个实际例子向您展示 PowerShell 脚本与 树形大小 文件搜索 的使用 。任务是准备将数千份文件上传到 SharePoint 服务器。问题是 SharePoint 上的文件名不允许使用某些字符，而这些字符在正常文件系统中是有效的，并且是常用的。使用正则表达式（可在 " 正则表达式 " 一章中找到） ，可以轻松找到所有违反 SharePoint 命名规则的文件。搜索完成后，请在对话框中选择是否将选中的文件移动到可执行文件中。请选择此 PowerShell 脚本作为可执行文件，您之前已将其保存为"SharePointRename.ps1"：

Param([string]$filepath="")

[char[]]$illegal = "~", "#", "%", "&", "*", "{", "}", "\", "：", "<", ">", "?", "/", "|"

$replacement = "-"

$filepathNew = [io.path]::GetFileName($filepath)

foreach($char in $illegal){$filepathNew = $filepathNew.Replace($char, $replacement)}

重命名项目 $filepath $filepathNew

该脚本可以很容易地进行调整或扩展，以适应更多的使用情况。