如何用批处理删除文件夹某个字符前的所有字符
如: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)就是去掉前面的日期,保留后面的编号
展开
3个回答
展开全部
@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%%
如果不固定,那么等我重写代码。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不清楚你的实际文件/情况,仅以问题中的样例/说明为据
复制粘贴到记事本,另存为xx.bat,编码选ANSI,跟要处理的文件夹放一起运行
复制粘贴到记事本,另存为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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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
@echo off
(for /f "tokens=1* delims=-" %%i in (a.txt) do echo %%j)>b.txt
rem move /y b.txt a.txt
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询