批处理脚本可将文件名首字母缩写的文件移动到新创建的文件夹中

时间:2019-09-25 17:51:30

标签: batch-file

我已经创建了该批处理脚本,并在运行时创建了与文件名相同的文件夹,并将这些文件移动到新创建的文件夹中。

@echo off
for %%i in (*) do (
 if not "%%~ni" == "organize" (
  md "%%~ni" && move "%%~i" "%%~ni"
 )
)

我正在尝试对此进行修改,并执行以下操作: 对于以“ 22. ”开头的文件名(.htm),请创建一个名为“ 22”的文件夹,并将其移入其中。 对于以“ 40。”开头的文件名,请创建一个名为“ 40”的文件夹,然后将其移动到其他位置。

有人知道吗?

1 个答案:

答案 0 :(得分:0)

这应该做您想要的:

@echo off
for /f "delims=." %%i in ('dir /b /a-d') do (
if /i not "%%~ni" == "organize" (
    mkdir %%i >nul 2>&1
    move %%i.* %%i
  )
 )

请记住,这不能满足目标文件夹中可能存在的重复文件,因此您需要确定是否要覆盖。