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

[文件操作] BAT处理文件名去空格,文件名重复问题怎么办

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

批处理有这个功能吗?这个需要有字符串的查找替换功能了吗?

TOP

本帖最后由 窄口牛 于 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. )
复制代码
如何增加一个判断重复添加两位秒数

TOP

本帖最后由 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
复制代码

TOP

现在只能所有的文件都加一个随机的秒数,省去对已有的判断,就容易了。

TOP

回复 5# 窄口牛


    随机的秒数也能出现重复吧
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

理论上肯定是的。秒数也会重复,但是之前本身重复就是概率性的,所以下来可能性应该不大。

TOP

回复 7# 窄口牛


    重复的文件名后面加个序号比较好吧,比如 xxx_001 xxx_002 xxx_003
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

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

TOP

返回列表