本帖最后由 苏紫方璇 于 2025-3-31 11:24 编辑
最近做的重复性工作有点多,有用DeepSeek做了两个bat
---------------------------------------------------------------
一:再同一文件夹内根据文件名称批量新建文件夹并分别将图片移动到对应文件夹内(用“_”作为分隔符,分割字符串,取第一部分作为文件夹名)
这个码会报风险,不知道啥原因,有懂的帮忙优化下
[Bash shell] 纯文本查看 复制代码 @echo off
chcp 65001 >nul
setlocal enabledelayedexpansion
for %%i in (*.jpg) do (
set "fullname=%%~ni"
set "folder=!fullname:_= !"
set "folder=!folder: = !"
for /f "tokens=1*" %%a in ("!folder!") do (
md "%%a" 2>nul
move "%%i" "%%a\"
)
)
echo 分类完成,按任意键退出
pause
二:批量替换文件名相同的某一部分 例:同一个文件夹内有以下四个文件[“@@@”psd文件“@@@_画板 1 副本”jpg文件“@@@内包装”psd文件“@@@组合”psd文件]将上面文件名中“@@@”替换为我想要替换的名字
[Bash shell] 纯文本查看 复制代码 @echo off & setlocal enabledelayedexpansion
title 精准文件名替换器 v2025.3.29
:: 配置区
set /p target=■ 输入需替换的局部文字(如"毛囊型"):
set /p newtext=■ 输入新文字(如"护理配方"):
:: 核心替换引擎
set count=0
for %%F in (*.*) do (
set "name=%%~nF"
set "ext=%%~xF"
set "newname=!name:%target%=%newtext%!"
if not "!newname!"=="!name!" (
if exist "!newname!!ext!" (
set "v=1"
:retry
set "tempname=!newname!_v!v!!ext!"
if exist "!tempname!" (
set /a v+=1
goto retry
)
ren "%%F" "!tempname!"
) else (
ren "%%F" "!newname!!ext!"
)
set /a count+=1
echo 已更新: "%%F" → "!newname!!ext!"
)
)
:: 操作报告
echo.
echo █ 执行时间: 2025-03-29 14:53
echo █ 修改文件: %count% 个
echo █ 操作路径: %cd%
pause
新手第一次发技术性的贴子 自己测试了下效果还不错,分享给大家!!!
不会发图片就文字描述下吧!
附上成品:
https://jeo009.lanzouo.com/b00uz12oji
密码:dfni |