plaodj 发表于 2017-6-21 03:39:48

如何批量修改文件后缀名(包含该路径下的所有文件夹)

          这段时间坐车时间比较多,车上有时候用pad看看代码什么的也是打发个时间,可是itunes上找了半天没有一款免费的代码阅读器,只有一款收费的,确实功能也很强大,对于天朝早已习惯吃免费的午餐的我当然更愿意把几十刀花在吃饭玩游戏上也不愿意去买app,虽然同为程序员,好想扇自己脸哇,哈哈。。
         ok,废话不多说,主要想在pad上看Java代码,只要能阅读就可以不在乎是否语法高亮,想到java代码都是文本代码,只要改成txt文件就可以在pad上阅读啊,于是想去把java文件都成txt文件,但是我这个项目差不多有几百个文件,那还不累死人,于是上网搜了下批量修改文件后缀名,结果都是针对一个文件夹下来操作的,还不是我想要的(我真是太懒啦,哈哈),我想要这个文件夹以及所有子文件夹中java文件都可以全部改成txt文件。
      
         最后翻箱倒柜,终于找出了老古董批处理,依稀记得大二的时候搞过这个玩意,用个递归或者for循环对每个*.java文件,进行ren *.java *txt操作即可。
          于是又去复习了一下批处理,dos的一些命令之后,写出了一行代码,搞定所有问题。
         for /r %%i in(*.java) do ren %%i *.txt
          批处理的一行代码便解决问题解决问题。。。。。

@echo off
set num = 0
For /r. %%i in (*.java) do (
set /a num += 1
echo %%i
call echo 第 %%num%% 个文件处理成功
ren %%i *.txt)   
echo 共%num%个文件被处理成功
pause>nul

程序意思就是:
遍历当前目录以及所有子目录,将所有的.java文件改为.txt文件,其实就一句话的事,不过确实很解决问题啊,工作和学习中很多时候可能都会用到这样的批处理操作。
http://bbs.yzqz.cn/thread-250-1-1.html这是一篇关于批处理for的操作介绍的帖子。

plaodj 发表于 2017-6-21 16:42:10

以上代码存在语法错误下面给个简洁的试之有效

@echo off
For /r %%i in (*.html) do ren "%%i" "%%~ni.htm"
pause>nul

plaodj 发表于 2017-6-22 14:12:51

网友提供未测试

@echo off
set num=0
For /r %%i in (*.html) do (
set /a num+=1
echo %%i
call echo 第 %%num%% 个文件处理成功
ren "%%i" "%%~ni.htm")
echo 共 %num%个文件被处理成功
pause>nul

13975758195 发表于 2017-9-20 17:07:54

good very well
页: [1]
查看完整版本: 如何批量修改文件后缀名(包含该路径下的所有文件夹)