批量 - 第一个文件夹字母错误地移动文件夹

时间:2016-04-04 20:28:12

标签: batch-processing directory

此命令有问题,因为它在移动文件夹时会消除文件夹,而不是完全按第一个文件夹字母重新排序目录。我不知道为什么。看HERE

这是错误的命令

 setlocal enabledelayedexpansion
for /d %%i in (*) do (
  set first=%%i
  move "%%i" "!first:~0,1!"
)

1 个答案:

答案 0 :(得分:0)

移动文档说:

  

如果您只移动一个文件,如果要在移动文件时重命名该文件,也可以包含文件名。

所以我认为其他目录是重命名的而不是移动的。尝试指定完整路径:

move "%%i" "!first:~0,1!"\"%%i"

我认为这会失败,因为目录a当时不存在,所以你应该先创建它。完整的脚本应该是这样的。未经测试,但它至少应该为您提供当前错误的线索,并且您可以从那里修复它。

setlocal enabledelayedexpansion
for /d %%i in (*) do (
  set first=%%I
  if not exist "!first:~0,1!"\nul md "!first:~0,1!"
  move "%%i" "!first:~0,1!"\"%%i"
)