bat批量移动文件到文件夹,已文件名中的某字创建文件夹名

如:文件名1:机架--LCL2308001--8/23
文件名2:机架--审核--LCL2308002--OK
文件名3:机架--FDDGH--LCL2308003--8/24
文件名4:机架--LCL2308004--8/25
文件名5:LZP2308005订特区
等等
把文件1移动以文件名中的LCL2308001来创建文件夹

下载码来了

【以下回答由 GPT 生成】

我可以用批处理脚本实现这个功能。下面是一个使用bat批处理移动文件到文件夹的示例代码:

@echo off
setlocal enabledelayedexpansion

set folder=C:\path\to\destination\folder\

for %%F in (*.*) do (
  set "filename=%%~nF"
  for /F "tokens=3 delims=-" %%A in ("!filename!") do (
    set "foldername=%%A"
    if not exist "!folder!\!foldername!" (
      mkdir "!folder!\!foldername!"
    )
    move "%%F" "!folder!\!foldername!\"
  )
)

endlocal

你需要修改脚本中的folder变量为你希望将文件移动到的目标文件夹的路径。

这个脚本会遍历当前文件夹中的所有文件,并根据文件名中第三个使用"-"分隔的部分创建对应的文件夹。然后,它会将每个文件移动到对应的文件夹中。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^