因为要看linux内核源代码,太多不能在电脑上时时盯着看,所以准备把它放到MP4里看,可是现在的MP4多数只支持.txt格式的,所以要把那些.c和.h等都改一下名字.当然我们不可能一个个名字改.所以要用到批量重命名.
在windows下即使用ren * *.txt也只能改一个文件夹内的文件,可是linux内核有很多文件夹,而ren 并没有提供递归办法.-r
写程序当然可以完成此任务,不过为改下名就写个程序有点杀鸡用牛刀了.
突然想念起linux shell.不过现在在windows下.就写个bat吧.写个bat文件也太小题大作,那就写一行命令吧.呵呵.
不过我们可以用一个for 来解决这一切咯.改这数以上万个文件,只要下面这一句话.
for /r . %a in (*) do @if not %~xa == .txt ren %a %~nxa.txt
以上的命令递归更改当前目录下的除.txt文件外的所有文件的文件名为*.txt
我在新的文件名中保存的原文件的扩展名,原因是对诸如hello.c 和hello.h 作重命名为hello.c.txt 和hello.h.txt 作一个区分而已.
NOte: 此改名命令有所危险,直接对原文件改名了.建议对原文件夹备份一份哦.出事可别找我咯..放心,改名不满意你就用这命令改回去咯.[for /r . %a in (*.txt) do @ren %a %~na ]
愿对你有用.
在windows下即使用ren * *.txt也只能改一个文件夹内的文件,可是linux内核有很多文件夹,而ren 并没有提供递归办法.-r
写程序当然可以完成此任务,不过为改下名就写个程序有点杀鸡用牛刀了.
突然想念起linux shell.不过现在在windows下.就写个bat吧.写个bat文件也太小题大作,那就写一行命令吧.呵呵.
不过我们可以用一个for 来解决这一切咯.改这数以上万个文件,只要下面这一句话.
for /r . %a in (*) do @if not %~xa == .txt ren %a %~nxa.txt
以上的命令递归更改当前目录下的除.txt文件外的所有文件的文件名为*.txt
我在新的文件名中保存的原文件的扩展名,原因是对诸如hello.c 和hello.h 作重命名为hello.c.txt 和hello.h.txt 作一个区分而已.
NOte: 此改名命令有所危险,直接对原文件改名了.建议对原文件夹备份一份哦.出事可别找我咯..放心,改名不满意你就用这命令改回去咯.[for /r . %a in (*.txt) do @ren %a %~na ]
愿对你有用.