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

[文本处理] 批处理如何在文件名顺数或倒数某个字符前和(或)后插入指定字符?

很多文件,需要在文件名顺数或倒数第x个字符前和(或)后插入字符,如何实现。如:

阿斯蒂芬散发.txt
lkfgjalknfekl.txt
……
-------------
在倒数第3个字(不算扩展名)前面插入“(”,后面插入")",变成:

阿斯蒂(芬)散发.txt
lkfgjalknf(e)kl.txt
……
-------------
哪位大侠帮帮忙!?

回复 1# wzf1024


    什么条件的文件插入什么字符到什么位置
#&cls&@powershell "Invoke-Expression ([Io.File]::ReadAllText('%~0',[Text.Encoding]::UTF8))" &pause&exit

TOP

  1. @echo off
  2.   set str=12345
  3.   set str2=%str:~0,-2%
  4.   set str3=%str2:~-1%
  5.   set str1=%str2:~0,-1%
  6.   set str4=%str:~-2%
  7.   echo %str1%(%str3%)%str4%
  8. pause
复制代码

TOP

回复 2# ivor


    很多txt,位置不定,第x个字的前面、后面插入指定字符。谢谢

TOP

  1. ren2 -f "(.*)(.)(..\.txt)" "$1($2)$3"
复制代码

TOP

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set /p n=输入倒数数字(0-9),然后回车:
  4. set /a m=n-1
  5. set 前插=(
  6. set 后插=)
  7. for /f "delims=" %%a in ('dir /b /a-d ^|findstr /v "bat$"') do (
  8. set str=%%~na
  9. set str1=!str:~0,-%n%!
  10. set str2=!str:~-%n%,1!
  11. set str3=!str:~-%m%!
  12. echo.old=!str!
  13. echo.new=!str1!!前插!!str2!!后插!!str3!
  14. pause
  15. )
复制代码

TOP

  1. PowerShell -c "dir *.txt|ren -NewName {$_.name -replace '(.*)(.)(..\.txt)$', '$1($2)$3'}"
复制代码

TOP

返回列表