You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于部分文件名创建文件夹并迁移文件的批处理脚本求助

解决方案

你的原始脚本使用了完整的文件名(不含扩展名)作为文件夹名称,导致创建了包含_Gocchup后缀的错误文件夹。我们需要提取文件名中第一个下划线之前的部分作为目标文件夹名,以下是修正后的批处理脚本:

@echo off
setlocal enabledelayedexpansion
for %%i in (*.jpg) do (
    if not "%%~ni" == "organize" (
        set "file_name=%%~ni"
        set "target_folder=!file_name:_*=!"
        md "!target_folder!" 2>nul
        move "%%~i" "!target_folder!"
    )
)
endlocal

关键代码说明:

  • setlocal enabledelayedexpansion: 启用延迟扩展,确保循环内部变量修改后能立即生效。
  • for %%i in (*.jpg): 仅遍历当前目录下的.jpg文件,避免误处理批处理脚本本身。
  • set "target_folder=!file_name:_*=!": 通过字符串替换,移除文件名中第一个下划线及之后的所有内容,得到正确的文件夹前缀。
  • md "!target_folder!" 2>nul: 创建目标文件夹,若文件夹已存在则忽略错误提示。
  • move "%%~i" "!target_folder!": 将当前文件移动到对应目标文件夹。

内容的提问来源于stack exchange,提问作者Phu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 15:15:16