找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 24977|回复: 9

[文件操作] 批处理文件批量改名操作

[复制链接]
发表于 2021-9-20 17:58:01 | 显示全部楼层 |阅读模式
  1. @echo off
  2. set ccd=%cd%
  3. for /r /d %%i in (详细信息) do (
  4.   if exist %%i (
  5.   for %%j in (%%i\*.*) do ren "%%j" "introduce.txt")
  6. )

  7. pause
复制代码
上面是代码,把所有 详细信息文件夹里的txt改成introduce.txt,

详细信息文件夹里只有一个txt,可是我用上面代码改完以后,出来的文件名字是
introduce  (1).txt
为啥会有个编号出来,这是啥情况 ,谢谢
发表于 2021-9-20 18:04:28 | 显示全部楼层
/r /d 是将文件夹包括子文件夹都遍历
第二个for是将详细信息文件夹里所有文件包括子文件进行重命名
发表于 2021-9-20 18:04:52 | 显示全部楼层
去掉/r试试
发表于 2021-9-20 18:18:58 | 显示全部楼层
回复 1# swanseabrian
  1. for /f "delims=" %%a in ('dir /b /s /a-d^|findstr /r "详细信息\\[^\\]*.txt$"') do ren "%%a" "introduce.txt"
复制代码
 楼主| 发表于 2021-9-20 18:26:01 | 显示全部楼层
回复 4# qixiaobin0715


    你这个好用啊,啥原因这是
 楼主| 发表于 2021-9-20 18:26:13 | 显示全部楼层
回复 3# Fit


    楼下的好用
发表于 2021-9-20 18:38:47 | 显示全部楼层
本帖最后由 qixiaobin0715 于 2021-9-20 18:59 编辑

回复 5# swanseabrian
这与批处理预处理机制有关,三两句话说不清楚(实际上我也拿不准 )。for+dir可以避免重命名时出现类似问题。
 楼主| 发表于 2021-9-20 20:54:43 | 显示全部楼层
回复 7# qixiaobin0715


    \\[^\\]
这四个杠啥意思
我把[^\\]去掉就搜索不到了
发表于 2021-9-20 23:04:26 | 显示全部楼层
回复 5# swanseabrian


如果没有极其特殊的需求,可以考虑忘掉 /r 和 /d
全部使用 for /f + dir 即可
 楼主| 发表于 2021-9-21 10:49:05 | 显示全部楼层
回复 9# Batcher


    好的, 这句啥意思呀   \\[^\\]
这四个杠啥意思
我把[^\\]去掉就搜索不到了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-21 01:38 , Processed in 0.032875 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表