标题: [文件操作] 批处理如何修改文件名中特定字符的位置? [打印本页]
作者: crist 时间: 2012-11-9 17:11 标题: 批处理如何修改文件名中特定字符的位置?
如题,例如文件名为“变量1 - 变量2.变量3”,如何能将它重命名为“变量2 - 变量1.变量3”呢,
注意1:“-”前后都有空格。
注意2:变量1、变量2、变量3都是由使用者运行批处理时输入的变量(如果变量1、变量2是空变量则将其设置为“*”,变量3不能输入空变量)。
作者: apang 时间: 2012-11-10 13:05
- @echo off
- for /l %%a in (1 1 3) do set /p v%%a=变量%%a:
- if "%v1%"=="" set "v1=*"
- if "%v2%"=="" set "v2=*"
- if "%v3%"=="" set "v3=txt"
- for /f "delims=" %%i in ('dir/a-d/b "%v1% - %v2%.%v3%"') do (
- for /f "tokens=1,2 delims=-" %%a in ("%%~ni") do (
- set "a=%%a"
- set "b=%%b"
- setlocal enabledelayedexpansion
- set "a=!a:~,-1!"
- set "b=!b:~1!"
- ren "!a! - !b!.%v3%" "!b! - !a!.%v3%" 2>nul
- endlocal
- )
- )
- pause
复制代码
如果文件名中包含多个"(空格)-(空格)"字符就不能修改了
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |