删除子文件夹但保留其内容?

删除子文件夹但保留其内容?

在 Windows 中,是否有方法(内置或使用第三方程序)将子文件夹的所有内容批量移动到上一级?换句话说,是否有方法可以删除选定的子文件夹,同时保留其内容?我想从以下位置开始:

Folder
  Subfolder1
    File1
  Subfolder2
    File2

到:

Folder
  File1
  File2

在一个单一的过程中。

答案1

您可以在命令提示符中使用 for 循环:

for /r %i in (*) do @move "%i" .

是的,它会尝试将当前目录中的文件移回当前目录,但这不会造成任何损害。请确保在要将文件移动到的层次结构的顶部运行它。从其他位置运行它将产生非常不良的影响。

如果您希望运行它,以便不必位于某个目录中,您可以输入路径:

for /r C:\path %i in (*) do @move "%i" "C:\path"

替换C:\path为所有文件将移动到的顶级目录的位置。如果您希望在批处理脚本中运行它,请更改变量以包含另一个百分号:

for /r C:\path %%i in (*) do @move "%%i" "C:\path"

删除所有空子目录(从 cmd):

for /d %i in (C:\path\*) do @rmdir /s /q "%i"

来自批次:

for /d %%i in (C:\path\*) do @rmdir /s /q "%%i"

答案2

一个简单的方法(在 XP 中)是右键单击根文件夹并选择“搜索”,然后不输入任何条件并按“搜索”。搜索结果将是文件夹和子文件夹中内容的平面列表。然后,您可以将搜索结果拖到另一个文件夹中,所有文件都将从其文件夹中“删除”。

在 XP 之后的 Windows 版本中,您只需在资源管理器窗口右上角的搜索框中输入搜索词,然后将结果复制到另一个文件夹即可实现相同的效果。

答案3

到目前为止有很多好建议。你也可以使用一切。右键单击相关父文件夹,选择“搜索所有内容”。这将给出文件夹中所有内容的列表。您可以从这里执行移动操作,也许在按文件类型排序后,或者在搜索中包含文件类型以排除文件夹。

答案4

你可以得到总指挥官,这是一个共享软件文件管理程序,进入您的文件夹,按Ctrl + B(意思是分支所有子目录 - 它将显示此目录和所有子目录中的所有文件),选择所有内容并复制到您想要的位置(即更高的一个文件夹)。

相关内容