1

我正在尝试创建一个标准化的目录结构来准备驱动器,以便整理和迁移到新位置。我要做的是在驱动器的根目录中运行一个批处理文件,该文件适用于所有子目录,并在每个子目录中创建一个名为“存档”的新文件夹,以便整理文件,然后再移动或删除。

我正在尝试将 FOR /F 与 MD 命令一起使用来创建文件夹,但我真的很难理解语法。令牌和变量。我正在尝试适应类似的东西

for /f "tokens=*" %a in ('dir /b /s /a-d') do @copy "%a" "c:\Single-Folder"

我从这里找到了用@md 替换@copy ...但我真的超出了我的深度。

非常感谢任何提供的帮助

4

2 回答 2

1

您正在使用的命令:

dir /b /s /a-d

列出除目录以外的所有内容(- 符号否定该属性)。因此,您必须使用的正确命令是:

dir /b /s /ad

(自己试试吧!)。

FOR /F读取dir命令的输出,一次一行文本。tokens=*将获得整行(删除前导空格)。我认为你需要这个:

for /f "tokens=*" %a in ('dir /b /s /ad') do @echo mkdir "%a\Archive"

当您确定它正确时,删除echo命令以实际执行mkdir.

于 2012-11-22T21:37:40.113 回答
1

我认为您想要做的是这种类型的结构:

@Echo OFF

REM By Elektro H@cker

For /D /R "%SYSTEMDRIVE%\" %%#  in (*) do (MKDIR "%SYSTEMDRIVE%\Single-Folder\%%~p#")

Pause&Exit
于 2012-11-22T22:11:59.437 回答