Board logo

标题: [文件操作] 【已解决】批处理实现文件重命名 [打印本页]

作者: wangdao6699    时间: 2015-5-15 19:06     标题: 【已解决】批处理实现文件重命名

Zoom 00-钟馗-天师 22-网络.mp4
0001.优-w--ww1-开  车01-001.mpeg
..............

以第一个 -  最后一个 -  标志分隔   取两个 - 之间内容重命名:
钟馗-天师 22.mp4
w--ww1-开  车01.mpeg
。。。。。
作者: Bella    时间: 2015-5-15 19:31

本帖最后由 Bella 于 2015-6-1 19:06 编辑
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%a in ('dir/a-d/b') do (
  4.     set $=%%a
  5.     set $=!$:*-=!
  6.     for %%b in ("!$:-=\!") do set #=%%~pb
  7.     set #=!#:~1,-1!%%~xa
  8.     ren "%%a" "!#:\=-!"
  9. )
  10. pause
复制代码

作者: apang    时间: 2015-5-15 20:58

本帖最后由 apang 于 2015-5-15 21:00 编辑

回复 2# Bella


    for 处理路径时会将连续多个斜杠改成单斜杠,所以文件名中的连续横杆会变成单横杆,小改一下:
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%a in ('dir /a-d /b') do (
  4.         set "$=%%a"
  5.         set "$=!$:*-=-!"
  6.         for %%b in ("!$:-=\ !") do set "$=%%~pb"
  7.         set "$=!$:\ =-!"
  8.         ren "%%a" "!$:~1,-1!%%~xa"
  9. )
  10. pause
复制代码





欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2