找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 26308|回复: 6

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

[复制链接]
发表于 2016-2-20 21:17:54 | 显示全部楼层 |阅读模式
很多文件,需要在文件名顺数或倒数第x个字符前和(或)后插入字符,如何实现。如:

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

阿斯蒂(芬)散发.txt
lkfgjalknf(e)kl.txt
……
-------------
哪位大侠帮帮忙!?
发表于 2016-2-20 21:38:56 | 显示全部楼层
回复 1# wzf1024


    什么条件的文件插入什么字符到什么位置
发表于 2016-2-20 21:48:37 | 显示全部楼层
  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
复制代码
 楼主| 发表于 2016-2-21 18:47:49 | 显示全部楼层
回复 2# ivor


    很多txt,位置不定,第x个字的前面、后面插入指定字符。谢谢
发表于 2016-2-21 19:03:41 | 显示全部楼层
  1. ren2 -f "(.*)(.)(..\.txt)" "$1($2)$3"
复制代码
发表于 2016-2-22 16:15:44 | 显示全部楼层
  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. )
复制代码
发表于 2016-2-22 18:54:46 | 显示全部楼层
  1. PowerShell -c "dir *.txt|ren -NewName {$_.name -replace '(.*)(.)(..\.txt)$', '$1($2)$3'}"
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 00:17 , Processed in 0.018469 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表