Windows 上的命令行文件夹结构

Windows 上的命令行文件夹结构

我需要通过命令行创建一个文件夹结构,结构如下:

用户名 > 文件夹 1 > 文件夹 2 > 文件夹 3 (并且这些文件夹中还有子目录)

这是一个 Windows 主机,我已经完成了“dir /ad > dir.txt(它输出父文件夹)

另外,我应该使用哪个 DOS 命令从文本文件创建文件夹?

我曾经使用过 xcopy /T /E(它在某个时候会失败,因为大多数时间都是从这些文件夹中读取文件),我有大约 1500 个文件夹,然后这些文件夹中还有子文件夹。

答案1

不太清楚你想要什么。你想将目录结构从一台电脑复制到另一台电脑吗?你创建文本文件的主机之间是否有连接?如果是,你可以使用命令行复制不包含文件的目录结构:

robocopy [源] [目标] /创建

或者您有一个包含要创建的所有路径的文本文件。如果是这样,您可能需要使用记事本发挥创意。例如,如果您有一个包含要创建的目录的文件,例如:

c:\Users\john\dir1

使用记事本打开文件。按 CTRL+H 并将“C:”替换为“MD C:”。您的文件应如下所示。

MD c:\Users\john\dir1

现在将文件保存为批处理文件(例如 createfolder.cmd)并双击它。它将创建所有文件夹。如果某些目录包含空格,此操作将失败。您可以在 Excel 的 B 列中粘贴所有内容。在 A 列中,添加医学博士,在 C 列添加选择全部并再次复制到记事本。现在用空字符串替换所有 Tab 并保存为批处理文件。

我希望它有帮助。

PS:如果你熟悉“for”命令这会更容易,但是“for”确实相当复杂。

答案2

您的问题没有明确说明您实际上需要做什么。

正如我所读到的,您在一个文本文件中列出了您需要创建的所有文件夹,该文件夹是通过执行 dir /ad 创建的。

这是你的第一个问题。如果你在 Vista 或 Win7 上的用户主文件夹中执行此操作,你将获得目录和连接点的混合。你将决定如何处理它们。(也许跳过连接点?)

然后,您可以使用 FOR 命令的变体来读取文本文件并为每个文件夹调用 MKDIR 命令。

使用 FOR /? 和 MKDIR /? 获得帮助。您需要启用 CMD 扩展。如有必要,请参阅 CMD /? 了解如何执行此操作。

请注意:FOR 的语法非常晦涩难懂,但如果使用得当,它可以产生一些令人惊奇的效果。

编辑:看到评论后(并且有一个方便检查语法的 Windows 框):

目录 /ad /b /s将获得一个简单的文件夹列表。

您必须在文本编辑器中编辑输出,以更改开头的驱动器号或在某处插入一些额外的文件夹级别。您必须在每行前后放置一个“,以正确处理带空格的路径。

然后像这样通过 FOR 运行它:

FOR /F "usebackq"  %i IN (dir.txt) DO MKDIR %i

请注意:在批处理文件中使用 FOR 命令时(而不是交互方式),它要求您使用 %%i 而不是 %i。

相关内容