标题: [文件操作] 【已解决】批处理如何遍历文件夹下特定的图片名称并修改名称? [打印本页]
作者: liaoguinan 时间: 2023-5-15 22:39 标题: 【已解决】批处理如何遍历文件夹下特定的图片名称并修改名称?
本帖最后由 liaoguinan 于 2023-5-17 14:24 编辑
图一、图二、图三均为文件原本样式
图四是手动修改文件名的最终样式
如何遍历文件夹,把文件夹里面的00-88、00-99这两个带前缀的文件,把前缀去掉,如图四,每个文件夹对应的前缀均为文件夹名称,比如322文件夹下的就是322-00-88、322-00-99
求大神
作者: jyswjjgdwtdtj 时间: 2023-5-15 22:46
盲写的 可能有错- set re=new regexp
- set fso=createobject("scripting.filesystemobject")
- for each folder1 in fso.getfolder("新建文件夹8 这里填顶层文件夹").subfolders'新建文件夹8
- for each folder2 in folder1.subfolders'01-321-324
- n=folder2.name
- re.pattern="^"&n&"-"
- for each file in folder2.files'321
- file.name=re.replace(file.name,"")
- next
- next
- next
复制代码
作者: Batcher 时间: 2023-5-15 22:59
回复 1# liaoguinan
test-1.bat 放在首层文件夹下执行
请参考Q-04把bat文件保存为ANSI编码:
https://mp.weixin.qq.com/s/Koje4FufWxWBs7ioDy_LJA- @echo off
- cd /d "%~dp0"
- setlocal enabledelayedexpansion
- for /f "delims=" %%a in ('dir /b /s /a-d *-*-*.jpg') do (
- set "OldName=%%~nxa"
- for /f "delims=" %%b in ("%%a\..") do (
- set "NewName=!OldName:%%~nxb-=!"
- )
- ren "%%a" "!NewName!"
- )
复制代码
作者: liaoguinan 时间: 2023-5-15 23:11
回复 3# Batcher
很厉害老大,如果是想要运行的时候会出现滚动显示应该 加什么代码呢?最后完成按任意键结束
作者: terse 时间: 2023-5-16 02:48
本帖最后由 terse 于 2023-5-16 08:33 编辑
修正一下 加个循环加个循环- @echo off&setlocal enabledelayedexpansion
- set "folder=新建文件夹 (8)"
- for /f "delims=" %%a in ('dir /ad /b "%folder%"') do (
- for /f %%b in ('dir /b /ad "%folder%\%%a"') do (
- for %%c in ("%folder%\%%a\%%b\%%b-*-*.*") do (
- set "str=%%~nxc"
- ren "%%c" "!str:*%%b-=!"
- )
- )
- )
- pause
复制代码
不用DIR- @echo off&setlocal enabledelayedexpansion
- set "folder=新建文件夹 (8)"
- for /d %%a in ("%folder%\*") do (
- for /d %%b in ("%%a\*") do (
- for %%c in ("%%b\%%~nb-*-*.*") do (
- set "str=%%~nxc"
- ren "%%c" "!str:*%%~nb-=!"
- )
- )
- )
- pause
复制代码
作者: qixiaobin0715 时间: 2023-5-16 08:35
人不能太那个了,要有点分享的精神。独乐乐,与人乐乐,孰乐?- @echo off
- for /f "delims=" %%i in ('dir /s /ad') do (
- pushd "%%i"
- if exist "%%~nxi-*.jpg" (
- for /f "tokens=1* delims=-" %%j in ('dir /b /a-d "%%~nxi-*.jpg"') do (
- ren "%%j-%%k" "%%k"
- )
- )
- popd
- )
- pause
复制代码
未测试。
作者: liaoguinan 时间: 2023-5-16 18:43
回复 6# qixiaobin0715
感谢,谢谢,明白这就开放也是,帮助需要的人
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |