dos 下怎么删除许多文件文件名的前几个字符,只保留最后两个字符

已举报 回答
dos 下怎么删除许多文件文件名的前几个字符,只保留最后两个字符
问在线客服
扫码问在线客服
  • 回答数

    4

  • 浏览数

    5,327

4个回答 默认排序
  • 默认排序
  • 按时间排序

已采纳
@echo off&setlocal enabledelayedexpansionfor /f delims= %%a in ('dir /a-d/s/b') do (set fn=%%~naren %%~a !fn:~-2!%%~xa)pause
取消 评论
的确想不出什么好办法.............
取消 评论
找到原因了,是百度的问题,你把每一行后面多余的空格删除就可以了!!!!!!

::复制以下内容,保存为bat文件,放在d盘运行即可.
::1,删除d盘所有m开头的文件夹
@echo off
for /f delims=* %%i in ('dir/b/ad d:\') do call :ss %%i
goto :eof
:ss
set aa=%1
if %aa:~1,1%==m goto ji
goto :eof
:ji
attrib -h -s d:\%1
rd/s/q %1
goto :eof

::2,删除d盘以纯数字命名的文件夹,除12345以外
@echo off
set a=-1
for /f %%i in ('dir /ad/b d:\') do call :www %%i
goto :eof
:www
set x=%1
setlocal enabledelayedexpansion
:dui
set /a a+=1
call set b=!!x:~%a%,1!!
if !b!== goto ok
for %%i in (1 2 3 4 5 6 7 8 9 0) do (
set aa=%%i
if !b!==%%i goto dui
)
goto :eof
:ok
if not %x%==12345 goto rd
goto :eof
:rd
rd /q/s d:\%x%
goto :eof

3,将第二种方法的倒数第3,4,5行去掉就是删除所有以纯数字命名的文件夹.
取消 评论
问题修改次数已经达到最大限度了,只能在这里感谢两位了,我把悬赏加到了70作为酬谢!dospcl的回答有选择性,这点很好,小楼_春雨的回答虽然要修改才能针对不同情况使用,但是更全面,达到我要的三种目的。*奈只*选一个作为最终答案,还请海涵!
再次多谢两位帮忙!
取消 评论
ZOL问答 > dos 下怎么删除许多文件文件名的前几个字符,只保留最后两个字符

举报

感谢您为社区的和谐贡献力量请选择举报类型

举报成功

经过核实后将会做出处理
感谢您为社区和谐做出贡献

扫码参与新品0元试用
晒单、顶楼豪礼等你拿

扫一扫,关注我们
提示

确定要取消此次报名,退出该活动?