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

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

[复制链接]
发表于 2016-5-30 02:07:10 | 显示全部楼层 |阅读模式
本帖最后由 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位字符
求帮助

评分

参与人数 1PB -2 收起 理由
pcl_test -2 未按版规发帖

查看全部评分

发表于 2016-5-30 13:47:39 | 显示全部楼层
如果用括号中间的4位数字做文件名行,加括号不好弄...
发表于 2016-5-30 20:58:23 | 显示全部楼层
举个栗子
  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)
复制代码
发表于 2016-5-30 21:00:30 | 显示全部楼层
  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)
复制代码
发表于 2016-5-31 15:02:48 | 显示全部楼层
@echo off
for /R d:\leanbat\test %%a in (.) do (
for /f "delims=( tokens=2" %%i in ("%%~na") do (ren %%~dpa"%%~na" ^(%%i)
)
发表于 2016-5-31 15:03:42 | 显示全部楼层
最近学了两天bat,不知道有没有更简便的方法
发表于 2016-6-1 22:29:08 | 显示全部楼层
回复 6# chenkangone


    “保留后6位字符”是set命令截取字符串的应用场景之一,可以参考4楼代码的第四行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-17 14:49 , Processed in 0.019618 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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