Board logo

标题: [文件操作] 【已解决】批处理如何遍历文件夹子级删除文件名前面N个字符? [打印本页]

作者: toyerspollors    时间: 2021-6-21 21:14     标题: 【已解决】批处理如何遍历文件夹子级删除文件名前面N个字符?

本帖最后由 toyerspollors 于 2021-6-26 15:58 编辑

我想给某个文件夹下的所有文件进行处理,包括所有子级里面的文件,我想就是想删除所有文件名的前面N个字符。

但是下方代码遍历到第4个子级里面的文件就不起作用了?老师们知道是什么原因吗?
  1. @echo off &setlocal enabledelayedexpansion
  2. for /f "delims=" %%a in ('dir /b /s *') do (
  3. set "t=%%~na"
  4. ren "%%a" "!t:~2!%%~xa"
  5. )
  6. pause
复制代码

作者: Batcher    时间: 2021-6-21 22:27

回复 1# toyerspollors
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%a in ('dir /b /s /a-d') do (
  4.     set "t=%%~na"
  5.     ren "%%a" "!t:~2!%%~xa"
  6. )
复制代码
如果仍然有问题,请参考Q-01观察一下哪行代码在报错以及详细的报错信息:
https://mp.weixin.qq.com/s/6lbb97qUOs1sTyKJfN0ZEQ




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