标题: [文本处理] 批处理如何在文件名顺数或倒数某个字符前和(或)后插入指定字符? [打印本页]
作者: wzf1024 时间: 2016-2-20 21:17 标题: 批处理如何在文件名顺数或倒数某个字符前和(或)后插入指定字符?
很多文件,需要在文件名顺数或倒数第x个字符前和(或)后插入字符,如何实现。如:
阿斯蒂芬散发.txt
lkfgjalknfekl.txt
……
-------------
在倒数第3个字(不算扩展名)前面插入“(”,后面插入")",变成:
阿斯蒂(芬)散发.txt
lkfgjalknf(e)kl.txt
……
-------------
哪位大侠帮帮忙!?
作者: ivor 时间: 2016-2-20 21:38
回复 1# wzf1024
什么条件的文件插入什么字符到什么位置
作者: 522235677 时间: 2016-2-20 21:48
- @echo off
- set str=12345
- set str2=%str:~0,-2%
- set str3=%str2:~-1%
- set str1=%str2:~0,-1%
- set str4=%str:~-2%
- echo %str1%(%str3%)%str4%
- pause
复制代码
作者: wzf1024 时间: 2016-2-21 18:47
回复 2# ivor
很多txt,位置不定,第x个字的前面、后面插入指定字符。谢谢
作者: bailong360 时间: 2016-2-21 19:03
- ren2 -f "(.*)(.)(..\.txt)" "$1($2)$3"
复制代码
作者: flyinnet9 时间: 2016-2-22 16:15
- @echo off
- setlocal enabledelayedexpansion
- set /p n=输入倒数数字(0-9),然后回车:
- set /a m=n-1
- set 前插=(
- set 后插=)
- for /f "delims=" %%a in ('dir /b /a-d ^|findstr /v "bat$"') do (
- set str=%%~na
- set str1=!str:~0,-%n%!
- set str2=!str:~-%n%,1!
- set str3=!str:~-%m%!
- echo.old=!str!
- echo.new=!str1!!前插!!str2!!后插!!str3!
- pause
- )
复制代码
作者: WHY 时间: 2016-2-22 18:54
- PowerShell -c "dir *.txt|ren -NewName {$_.name -replace '(.*)(.)(..\.txt)$', '$1($2)$3'}"
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |