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

[文件操作] 批处理实现文件名的改名练习 这个好像出有人出过出题挑战的

希望得到这样的结果

段品章 - 云深情也深.mp3     --->     云深情也深 - 段品章.mp3
成方圆 - 该怎样就怎样       --->     该怎样就怎样 - 成方圆
罗可珺 - 今夜雨濛濛.mp3     --->     今夜雨濛濛 - 罗可珺.mp3

谁在贴一下,也算是复习一下了。
  1. @echo off
  2. setlocal EnableDelayedExpansion
  3. for /f "delims=" %%i in ('dir /b/on "*.ape"') do (
  4.     for /f "delims=- tokens=1,2" %%a in ("%%~ni") do (
  5. REM           echo "%%i"
  6. set aa=%%a:~0,1%
  7. set bb=%%b:~0,1%
  8.    echo "%%aa"
  9.    echo "%%bb"
  10.      )
  11.    )
  12. pause
复制代码
我调试运行的结果是 a参数是, 段品章(1空格), b参数是 (1空格)云深情也深,
今天自己尝试写代码,这里截断的地方不会写了,谁能帮忙贴一下,谢谢!

感觉这像我妈妈的广场舞,考到U盘在整理下歌曲顺序,方便我妈妈跳广场舞
毕竟没有老师教,自学很痛苦的

TOP

  1. @echo off&SetLocal EnableDelayedExpansion
  2. for /f "delims=" %%i in ('dir /b/s/a-d ^|find "-"') do for /f "tokens=1,* delims=-" %%a in ("%%~ni") do set "L=%%a"&set "R=%%b"&set L=!L: =!&set R=!R: =!&if not "%%i"==%0 ren "%%i" "!R!-!L!%%~xi"&Echo 重命名"%%i"为"!R!-!L!%%~xi"
  3. pause
复制代码

TOP

回复 3# qixiaobin0715

同一个意思,我在ape文件夹做测试。

TOP

mp3咋成了ape了:
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "tokens=1* delims=-" %%a in ('dir /b /a-d *.mp3') do (
  4. set str1=%%a
  5. set str2=%%~nb
  6. ren "%%a-%%b" "!str2:~1! - !str1:~0,-1!.mp3"
  7. )
  8. pause
复制代码

TOP

回复 1# netdzb


自己给解决了,正确的代码应该是这样的。

@echo on
setlocal EnableDelayedExpansion
for /f "delims=" %%i in ('dir /b/on "*.ape"') do (
    for /f "delims=- tokens=1,2" %%a in ("%%~ni") do (
        set str1=%%b
        set str2=%%a
        ren "%%i" ""!str1:~1!" - "!str2:~,-1!""%%~xi
     )
   )
pause

TOP

返回列表