Board logo

标题: [文件操作] BAT处理文件名去空格,文件名重复问题怎么办 [打印本页]

作者: 窄口牛    时间: 2019-9-16 11:17     标题: BAT处理文件名去空格,文件名重复问题怎么办

比如三个文件
  1. cd.>"wjm.txt"
  2. cd.>"w jm.txt"
  3. cd.>"wj m.txt"
复制代码

作者: 秀才    时间: 2019-9-16 13:17

批处理有这个功能吗?这个需要有字符串的查找替换功能了吗?
作者: 窄口牛    时间: 2019-9-16 15:15

本帖最后由 窄口牛 于 2019-9-16 15:16 编辑
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "tokens=*" %%i in ('dir/b') do (
  4. set fn=%%i
  5. set fn=!fn: =!
  6. ren "%%i" !fn!
  7. )
复制代码
如何增加一个判断重复添加两位秒数
作者: lancer    时间: 2019-9-16 16:41

本帖最后由 lancer 于 2019-9-16 16:43 编辑
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "tokens=*" %%i in ('dir/b') do (
  4. set fn=%%~nxi
  5. set f1=!fn: =!
  6. if exist "!f1!" (
  7. echo !f1! 文件重复,因而!f1!重命名失败
  8. ) else (
  9. ren "!fn!" "!f1!"
  10. )
  11. )
  12. echo 重命名完成
  13. pause
复制代码

作者: 窄口牛    时间: 2019-9-17 17:53

现在只能所有的文件都加一个随机的秒数,省去对已有的判断,就容易了。
作者: Batcher    时间: 2019-9-19 08:38

回复 5# 窄口牛


    随机的秒数也能出现重复吧
作者: 窄口牛    时间: 2019-9-19 08:46

理论上肯定是的。秒数也会重复,但是之前本身重复就是概率性的,所以下来可能性应该不大。
作者: Batcher    时间: 2019-9-19 17:18

回复 7# 窄口牛


    重复的文件名后面加个序号比较好吧,比如 xxx_001 xxx_002 xxx_003
作者: 窄口牛    时间: 2019-9-19 17:57

是的,加这些容易,主要是增加判断不会弄。




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