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

[文件操作] 批处理如何批量删除文件夹名中特定字符串前的所有字符?

本帖最后由 pcl_test 于 2016-5-31 20:28 编辑

我有一大批的文件夹,是文件夹,不是文件,文件夹需要改名字,因为原来的名字太才了


代理价  140∕双  36-44 耐克王土豪金(1577)
代理价 120∕双 36-40 MAX 87 帆白棕褐色(1405)
代理价 120∕双 36-40 MAX 87 深兰白金(1468)
代理价 120∕双 36-40 MAX 87 深宝兰钻石兰超级粉顶峰白(1458)
代理价 120∕双 36-40 MAX 87 灰紫白粉红(1437)
代理价 120∕双 36-40 MAX 87 玫红橙色(1451)
代理价 120∕双 36-40 MAX 87 白铁矿色碧绿(1389)

现在我想批量处理,只保留后面的编号
(1577)
(1405)
(1468)
(1458)
(1437)
(1451)
(1389)
这样,就是保留后6位字符
求帮助
1

评分人数

如果用括号中间的4位数字做文件名行,加括号不好弄...

TOP

举个栗子
  1. @echo off
  2. for /f "tokens=1*delims=(" %%a in ('more +5 "%~f0"') do (
  3.     echo;ren "%%a(%%b" "(%%b"
  4. )
  5. pause&exit
  6. 代理价  140∕双  36-44 耐克王土豪金(1577)
  7. 代理价 120∕双 36-40 MAX 87 帆白棕褐色(1405)
复制代码

TOP

  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "delims=" %%a in ('more +6 "%~f0"') do (
  3.     set "str=%%a"
  4.     echo;ren "%%a" "!str:~-6!"
  5. )
  6. pause&exit
  7. 代理价  140∕双  36-44 耐克王土豪金(1577)
  8. 代理价 120∕双 36-40 MAX 87 帆白棕褐色(1405)
复制代码

TOP

@echo off
for /R d:\leanbat\test %%a in (.) do (
for /f "delims=( tokens=2" %%i in ("%%~na") do (ren %%~dpa"%%~na" ^(%%i)
)

TOP

最近学了两天bat,不知道有没有更简便的方法

TOP

回复 6# chenkangone


    “保留后6位字符”是set命令截取字符串的应用场景之一,可以参考4楼代码的第四行。
Talk is cheap. Show me the code.
没事不要瞎扯淡,有能耐就把代码贴出来给我看。

TOP

返回列表