Board logo

标题: [文本处理] 【已解决】批处理如何删除文件夹(包括子文件夹)名称的前几个字符 [打印本页]

作者: wzf1024    时间: 2016-3-15 23:55     标题: 【已解决】批处理如何删除文件夹(包括子文件夹)名称的前几个字符

本帖最后由 pcl_test 于 2016-7-22 20:58 编辑

如题,想删除文件夹名称前面2个字符,有段代码能实现当前文件夹名称,但不能操作子文件夹名,哪位大侠帮忙改一下,万分感激啊:
  1. @ECHO OFF&Setlocal EnableDelayedExpansion
  2. :1
  3. set /p z=s输入去掉字符个数(要删除前面若干字符输入正数如2,要保留后面若干字符输入负数如-2):
  4. set /a y=1%z%1||goto 1
  5. for /d %%i in (*) do (set a=%%i
  6. set b=!a:~%z%!
  7. ren "%%i" "!b!"
  8. )
  9. pause
复制代码

作者: happy886rr    时间: 2016-3-16 08:28

本帖最后由 happy886rr 于 2016-3-16 10:15 编辑

回复 1# wzf1024
  1. @echo off&setlocal enabledelayedexpansion
  2. :main
  3. cls
  4. set /p num=请输入去掉的字符数:
  5. set /a y=1!num!||goto main
  6. for /f "delims=" %%i in ('dir /ad /b /s') do (
  7. set /a i+=1
  8. set f!i!=%%i
  9. set n!i!=%%~ni
  10. )
  11. for /l %%i in (!i! -1 1) do (
  12. set a=!f%%i!
  13. if "!n%%i:~%num%!"=="" (
  14. echo 目录:“!f%%i!”再去就没名字了
  15. ) else (
  16. ren "!f%%i!" "!n%%i:~%num%!"
  17. )
  18. )
  19. echo 恭喜你,执行完毕!
  20. pause>nul
复制代码





欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2