标题: [文件操作] [已解决]批处理把文件夹中的名给所有文件命名 [打印本页]
作者: 2227226022 时间: 2013-12-16 00:22 标题: [已解决]批处理把文件夹中的名给所有文件命名
本帖最后由 2227226022 于 2013-12-16 16:02 编辑
批处理把文件夹中的名给所有文件命名(包含所有子文件)
文件夹的名字命名该文件夹下的文件,举个例子来说吧:
文件夹:刘继业 下有N个文件:没有你的日子.mp3 日子的腹.mp3 习惯一个人.mp3
子文件文件夹:刘金龙 下有N个文件:你的日子.mP4 日子.mp3 一个人.mp4
改成后。。刘继业-没有你的日子.mp3 刘继业-日子的腹.mp3 刘继业-习惯一个人.mp3
刘金龙-你的日子.mP4 刘金龙-日子.mp3 刘金龙-一个人.mp4
用代码批量命名,谢谢 批处理要包括所有子文件夹
作者: DAIC 时间: 2013-12-16 08:26
- @echo off
- for /d %%i in (*) do (
- pushd "%%i"
- for %%j in ("%%i\*") do (
- ren "%%j" "%%~nxi-%%~nxj"
- )
- popd
- )
复制代码
作者: 2227226022 时间: 2013-12-16 15:35
处理不了.谢谢大哥
作者: 2227226022 时间: 2013-12-16 15:45
D:.
├─文件夹
│─ 新建文件.bat
│
├─a文件夹
│ ├─刘金龙
没有你的日子.mp3
│ ├─刘继业
你的日子.mp3
处理后的文件名:
├─文件夹
│─ 新建文件夹.bat
│
├─a文件夹
│
│ ├─刘金龙
刘金龙-没有你的日子.mp3
│ ├─刘继业
刘继业-你的日子.mp3
总之目录文件包括所有子文件夹都处理.谢谢
作者: xxpinqz 时间: 2013-12-16 15:51
- @echo off&setlocal enabledelayedexpansion
- set "dp=%~dp0"
- for /f "delims=" %%a in ('dir /b/s/a-d *.mp3 *.mp4') do (
- set "str=%%a"
- set "str=!str:%dp%=!"
- if /I not "!str!"=="%%~nxa" (
- for /f "delims=" %%i in ("!str:\%%~nxa=!") do ren "%%a" "%%~nxi-%%~nxa"
- )
- )
复制代码
作者: 2227226022 时间: 2013-12-16 16:00
谢谢两位大哥的帮助.已解决
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |