标题: [文件操作] 批处理怎样修改文件夹和子文件夹所有mp4的文件名? [打印本页]
作者: gddsssko 时间: 2024-6-27 12:28 标题: 批处理怎样修改文件夹和子文件夹所有mp4的文件名?
将文件夹和子文件夹下的所有mp4文件名中"."后边所有内容删除。注意不要把扩展名删除。
比如:
Test/001/abc你好001.mp4你好.mp4
执行后
Test/001/abc你好001.mp4
数量比较多,大概一万个,在不同文件夹
作者: qixiaobin0715 时间: 2024-6-27 12:57
本帖最后由 qixiaobin0715 于 2024-6-27 12:59 编辑
批处理文件保存为ANSI编码:- @echo off
- setlocal enabledelayedexpansion
- for /f "delims=" %%i in ('dir /s /b /a-d "*.mp4*.mp4"') do (
- set "na=%%~nxi"
- set "na=!na:.mp4=.!"
- for %%j in ("!na!") do (
- ren "%%i" "%%~nj.mp4"
- )
- )
- pause
复制代码
作者: 77七 时间: 2024-6-27 14:20
- @echo off
- cd /d "%~dp0"
- for /f "delims=" %%i in ('dir /b /s /a-d *.mp4') do (
- for /f "delims=." %%a in ("%%~ni") do (
- ren "%%i" "%%a%%~xi"
- )
- )
- pause
复制代码
作者: aloha20200628 时间: 2024-6-27 15:43
本帖最后由 aloha20200628 于 2024-6-27 16:06 编辑
回复 1# gddsssko
一旦遭遇有多点分隔的文件名如 c:\test\xyz.abc你好001.mp4你好.mp4 则可处理成 c:\test\xyz.abc你好001.mp4
- @echo off &for /r %%F in (*.mp4) do for %%f in ("%%~dpnF") do (ren "%%F" "%%~nf%%~xF")
- pause&exit/b
复制代码
作者: newswan 时间: 2024-6-27 21:59
本帖最后由 newswan 于 2024-6-27 22:06 编辑
第一个 .mp4 后面的删掉?
需要 sed- for /f "usebackq tokens=1 delims=" %%a in (` dir /s /b /a-d "*.mp4*.mp4" `) do (
- for /f "usebackq tokens=1 delims=" %%b in (` echo %%a | sed -e 's/[.]mp4.*[.]mp4/.mp4/'`) do (
- ren %%a %%b
- )
- )
复制代码
powershell- Get-ChildItem -Path ".\New folder\" -Filter "*.mp4*.mp4" | ForEach-Object {
- Rename-Item $_ -NewName ($_.Name -replace "[.]mp4.*[.]mp4",".mp4")
- }
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |