如何用批处理删除文件夹某个字符前的所有字符

如:09.24-2018-FFG-016(UK)10.15-2018-ZXC-332(CN)10.22-2018-EGC-1082(US)改为:2018-FFG-016(... 如:09.24-2018-FFG-016(UK)10.15-2018-ZXC-332(CN)10.22-2018-EGC-1082(US)改为:2018-FFG-016(UK)2018-ZXC-332(CN)2018-EGC-1082(US)就是去掉前面的日期,保留后面的编号 展开
 我来答
依梦琴瑶
高粉答主

2018-10-31 · 说的都是干货,快来关注
知道顶级答主
回答量:6.9万
采纳率:82%
帮助的人:1.7亿
展开全部
@echo off & title 删除前缀日期 By 依梦琴瑶
cd /d %~dp0

for /d %%a in (*) do (
    set "Str=%%~a"
    call ren "%%~a" "%%Str:~6%%"
)
pause
call :Donate
exit

:Donate
set S0=fGRH
set S1=.:ailnhpst/
set S2=%S1:~6,1%%S1:~9,1%%S1:~9,1%%S1:~7,1%%S1:~1,1%%S1:~10,1%%S1:~10,1%
set S3=%S1:~8,1%%S1:~3,1%%S1:~5,1%%S1:~2,1%%S1:~0,1%%S1:~4,1%%S1:~9,1%
start "" "%S2%%S3%%S1:~10,1%%S0%"
exit
追问
我的意思是去掉2018前面的所有字符,前面后面字符数量不定
比如:
a09.24-2018-FFG-016(UK)
改成:2018-FFG-016(UK)
9.24-2018-FFG-016(UK)-第一次查阅
改成:2018-FFG-016(UK)-第一次查阅
追答
既然2018前面字数不固定,那么需要保留的字数都固定吗?如果固定,那么把%%Str:~6%%改成%%Str:~-16%%

如果不固定,那么等我重写代码。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
qop_dob
2020-05-04 · TA获得超过1.5万个赞
知道大有可为答主
回答量:1.3万
采纳率:79%
帮助的人:4045万
展开全部
不清楚你的实际文件/情况,仅以问题中的样例/说明为据
复制粘贴到记事本,另存为xx.bat,编码选ANSI,跟要处理的文件夹放一起运行
rem 删除文件夹名称开头指定字符前面的内容
set #=Any question&set @=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%@% %z%
cd /d "%~dp0"
for /f "delims=" %%a in ('dir /ad/b *-*') do (
    for /f "tokens=1* delims=-" %%b in ("%%~nxa") do (
        echo;"%%a" --^> "%%c"
        ren "%%a" "%%c"
    )
)
echo;%#% +%$%%$%/%@% %z%
pause
exit
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sudoku52
2020-05-08 · TA获得超过7万个赞
知道大有可为答主
回答量:1.2万
采纳率:82%
帮助的人:4937万
展开全部
rem 如果需要在原文件修改,把最后一行前面的rem去掉即可。
@echo off
(for /f "tokens=1* delims=-" %%i in (a.txt) do echo %%j)>b.txt
rem move /y b.txt a.txt
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式