[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] [已解决]批处理把文件夹中的名给所有文件命名

本帖最后由 2227226022 于 2013-12-16 16:02 编辑

批处理把文件夹中的名给所有文件命名(包含所有子文件)

文件夹的名字命名该文件夹下的文件,举个例子来说吧:
文件夹:刘继业 下有N个文件:没有你的日子.mp3    日子的腹.mp3    习惯一个人.mp3
子文件文件夹:刘金龙 下有N个文件:你的日子.mP4   日子.mp3    一个人.mp4
改成后。。刘继业-没有你的日子.mp3    刘继业-日子的腹.mp3    刘继业-习惯一个人.mp3  
               刘金龙-你的日子.mP4   刘金龙-日子.mp3    刘金龙-一个人.mp4
用代码批量命名,谢谢 批处理要包括所有子文件夹
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

  1. @echo off
  2. for /d %%i in (*) do (
  3.     pushd "%%i"
  4.     for %%j in ("%%i\*") do (
  5.         ren "%%j" "%%~nxi-%%~nxj"
  6.     )
  7.     popd
  8. )
复制代码

TOP

处理不了.谢谢大哥

TOP

D:.
├─文件夹
│─ 新建文件.bat

├─a文件夹
│  ├─刘金龙
    没有你的日子.mp3   
│  ├─刘继业
    你的日子.mp3   
处理后的文件名:
├─文件夹
│─ 新建文件夹.bat

├─a文件夹

│  ├─刘金龙
     刘金龙-没有你的日子.mp3
│  ├─刘继业
   刘继业-你的日子.mp3   
  
总之目录文件包括所有子文件夹都处理.谢谢

TOP

  1. @echo off&setlocal enabledelayedexpansion
  2. set "dp=%~dp0"
  3. for /f "delims=" %%a in ('dir /b/s/a-d *.mp3 *.mp4') do (
  4.     set "str=%%a"
  5.     set "str=!str:%dp%=!"
  6.     if /I not "!str!"=="%%~nxa" (
  7.        for /f "delims=" %%i in ("!str:\%%~nxa=!") do ren "%%a" "%%~nxi-%%~nxa"
  8.     )
  9. )
复制代码
1

评分人数

    • 2227226022: 谢谢大哥的帮助.已解决技术 + 1
初学BAT,非专业。代码不适当之处还望前辈们多多指点。在此表示感谢!

TOP

谢谢两位大哥的帮助.已解决

TOP

返回列表