windows bat批处理 修改文件夹子目录名称,删除前五个字符
步骤
- 新建.txt文件,名称任意,如aaa.txt ,编写批处理命令,代码如下
@echo off
setlocal enabledelayedexpansion
for /d %%f in (*) do (
echo %%f
set name=%%f
ren !name! !name:~5%!
)
pause
-
修改文件后缀为.bat,确认修改文件名
-
将.bat 文件放入目录下,点击执行即可
所用命令注释
::利用for、ren命令 删除文件夹名称前5位
::@echo off :作用:在dos命令环境中屏蔽命令提示符 @echo on 为开启
::setlocal enabledelayedexpansion : 作用启用延迟扩展,使cmd识别语法!var!,访问current的var值 SETLOCAL DISABLEDELAYEDEXPANSION 为关闭延迟扩展
:: for命令: 具体语法:FOR %%variable IN (set) DO command [command-parameters]
:: %%variable 指定一个单一字母可替换的参数。
:: (set) 指定一个或一组文件。可以使用通配符 *。
:: command 指定对每个文件执行的命令。
:: command-parameters 为特定命令指定参数或命令行开关。
:: for命令有4个参数 /d /l /r 以及最强大的 /f ;
:: /d 表示仅为目录,用于目录搜索,不会搜索文件
:: /r 表示递归 ,进入根目录树 [Drive:]Path,在树的每个目录中执行 for 语句。如果在 /R 后没有指定目录,则认为是当前目录。
:: /l 表示迭代数值范围 ,for /L %% Variable in (Start#,Step#,End#) do Command使用迭代变量设置起始值 (Start#),然后逐:: :: 步执行一组范围的值,直到该值超过所设置的终止值 (End#) (Step#)开始迭代的位置如:
:: for /l %%i in (1,1,5) do start cmd 作用:遍历启动五个cmd窗口
:: /f 有两个参数 delims和tokens,其作用是用来处理文件和一些命令的输出结果,具体可自己了解
::ren:rename的缩写,是一个操作系统命令,用于给文件重命名 ren oldname newname
::%%f: 变量