Windows批处理修改文件名
2011-11-06 16:16
211 查看
============================================= @echo off setlocal set /p oldname=请输入老名字: set /p newname=请输入新名字: set /p wildcard=请输入文件名通配符列表(缺省为所有文件,即“*”): for /f "usebackq delims=" %%i in (`dir /s/b/a-d %wildcard%`) do ( setlocal enabledelayedexpansion set var=%%~nxi set "var=!var:%oldname%=%newname%!" if not "%%~nxi"=="!var!" (echo 正在改名:"%%i" =》 "!var!") echo %%i |find "mutiren.bat" >nul || ren "%%i" "!var!" >nul endlocal ) endlocal =============================================
说明 :
1. 本处理的功能是查找替换文件名。
2. 在for语句中使用到了变量延迟的语句 setlocal enabledelayedexpansion 和 endlocal。
3. dir /s /b /a-d 是列出当前目录及其子目录(/s)的文件(/a-d)的名称(/b),/a-d是指文件属性非目录,即文件。
4. '|'是用来传递参数的管道,'||'则是当前面的句子执行失败后才能执行的。
5. >nul,成功的不提示。
6. multiren.bat为本批处理的文件名,不会修改的。
7. 增加了输入文件名通配符过滤,例如"*.c *.h"(输入不包括双引号)。
8. 开头的setlocal是将变量作用域限制在局部,以防修改外部全局变量混淆。
转:http://blog.csdn.net/DLite/article/details/6069991
相关文章推荐
- Windows批处理之修改文件名
- FAT32分区下关于修改文件名的问题
- 获取进程中的文件名.路径.大小.创建时间.修改时间.属性等
- VB.NET修改文件名
- python修改文件名问题
- VS项目中修改某个项目文件名出现警告:warning MSB8028: The intermediate directory (Debug) contains files shared from an
- 使用python批量替换修改文件名
- sql server 修改逻辑文件名
- SQL Server中,查询与修改数据库逻辑文件名,移动数据库存储路径示例
- linux修改用户目录文件名
- dos 修改文件名
- linux 修改 文件名
- ant move修改文件名
- win7解决桌面修改文件名每次都要刷新问题
- 修改文件名
- linux下递归修改子目录内的文件名
- 编写程序,程序运行时输入目录名称,并把该目录下的所有文件名后缀修改为.txt。
- python3 django models保存filefiled字段统一目录、不修改文件名的方法
- C++批量修改文件夹下文件名
- 批处理修改文件名