[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] [已解决]修改文件名的批处理代码如何操作子文件夹?

原代码只能修改当前文件夹内的文件名,不能操作子文件夹的:
  1. for %%a in *.txt) do (
  2. set "temp=%%a"
  3. set temp=!temp:s s=aaa!
  4. ren "%%a" "!temp!"
  5. )
  6. pause
复制代码
如果想连同修改子文件夹的文件名该怎么修改,谢谢!
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2
素材网http://www.designniu.com

结合dir就可以
  1. for /f %%a in ('dir /b /s *.txt')  do (
  2. set "temp=%%a"
  3. set temp=!temp:s s=aaa!
  4. ren "%%a" "!temp!"
  5. )
  6. pause
复制代码
1

评分人数

TOP

回复 2# hb_135
之前我也这样改过是不行的
会出现 这样效果[attach]6028[/attach]
素材网http://www.designniu.com

TOP

回复 3# max_savager
你可以把执行信息打印出来,可以具体看是哪个环节出错了
我测试了下是可以的

TOP

回复 4# hb_135 请问下怎样打印的?
素材网http://www.designniu.com

TOP

回复 5# max_savager

@echo on
我看你的截图估计是把回显关掉了(@echo off)
打开回显,这样可以看每个步骤执行的输出,检查下是否变量赋值不正确

TOP

回复 4# hb_135
结果是这样?是因为文件名中间有空格吗?
素材网http://www.designniu.com

TOP

回复 7# max_savager
ren 命令后面 第一个参数的路径存在吗? 第二个参数赋值没成功

TOP

  1. @echo off&setlocal enabledelayedexpansion
  2. for /r %%a in ("*s s*.txt") do (
  3.     set "temp=%%~na"
  4.     set temp=!temp:s s=aaa!
  5.     ren "%%~fa" "!temp!"%%~xa
  6. )
  7. pause
复制代码

TOP

变量延迟
文件名带空格,for /f 要加"delims="
  1. @echo off
  2. for /f "delims=" %%a in ('dir /a-d/b/s *.txt')  do (
  3.   set "temp=%%a"
  4.   set "Name=%%~nxa"
  5.   setlocal enabledelayedexpansion
  6.   set "Name=!Name:s s=aaa!"
  7.   ren "!temp!" "!Name!"
  8.   endlocal
  9. )
  10. pause
复制代码

TOP

回复 10# apang
谢谢,可以了
素材网http://www.designniu.com

TOP

回复 9# wwdx
谢谢,可以了
素材网http://www.designniu.com

TOP

回复 8# hb_135
谢谢,已解决
素材网http://www.designniu.com

TOP

谢谢分享

TOP

本帖最后由 max_savager 于 2013-1-20 11:40 编辑
@echo off
for /f "delims=" %%a in ('dir /a-d/b/s *.txt')  do (
  set "temp=%%a"
  set "Name=%%~nxa"
  setlocal enabledelayedexpansion
  set "Name=!Name:s s=aaa!"
  ren "!temp!" "!Name!"
  endlocal
)
pause
回复 10# apang
大侠,现在改文件名一边中文一边英文就不行了,例如  “天下 sss=aaa"  就执行不了,这样的话又该怎么修改呢?请指教。盼回音
素材网http://www.designniu.com

TOP

返回列表