上犹电脑信息网我们一直在努力
您的位置:上犹电脑信息网 > 文件问题 > BAT|文件批量重命名(以文件夹名为前缀)及相关细节说明-bat文件

BAT|文件批量重命名(以文件夹名为前缀)及相关细节说明-bat文件

作者:上犹日期:

返回目录:文件问题

新建批处理bat文件,输入以下内容:

setlocal enabledelayedexpansion

set n=0

rem 取得路径包括了最后一个斜线\

set tempPath=%~dp0

rem 把路径中的最后一个斜线去掉

set tempPath=!tempPath:~,-1!

echo %tempPath%

for %%a in ("!tempPath!") do (

set dirName=%%~na

)

for /f "tokens=1,2 usebackq delims=." %%A in (`dir /o:n /b`) do (

if not "%%~nA"=="%~n0" ( rem 不更改bat文件的名称;

if not "%%B"=="html" ( rem 不更改html文件的名称;

if not "%%A.%%B"=="%%A." ( rem 不更改文件夹的名称;

set /a n=n+1

if !n! lss 10 (

ren "%%A.%%B" "!dirName!0!n!.%%B"

) else (

ren "%%A.%%B" "!dirName!!n!.%%B"

)))))

1 细节说明

1.1 对于代码:set /p name="","="前后不能有空格;

1.2 对于代码:) else (,"else"前后必须有空格;

1.3 对于代码:if !n! lss 10 ( ,此处符号必须是"!",而不是"%";

2 变量扩充

变量要用%x来表示,x可取a-z,A-Z,0-9;%a-z或%A-Z是for语句中的迭代变量;(脚本的for命令处理的对象是文件集\目录集\或文本文件、命令输出的以行为基础的文本;)

%0-9是批处理脚本的参数;

%0代表批处理文件自身;

%~dI 仅将 %I 扩展到一个驱动器号

%~pI 仅将 %I 扩展到一个路径

echo %~dp0 显示当前批处理文件的路径;

%~nI 仅将 %I 扩展到一个文件名;

3 变量延迟

使用变量时是用&,当延迟变量时,用!代替&;

!是%的一个强化版,在for循环中,当一个变量被多次赋值时,%dd%所获取的仅仅是dd第一次被赋予的值,想要刷新dd的值,就必须首先使用命令setlocal enabledelayedexpansion来开启延时变量开关,然后用!dd!来获取dd的值;

4 环境变量扩展

%PATH:~10,5%

会扩展 PATH 环境变量,然后只使用在扩展结果中从第 11 个(偏移量 10)字符开始的五个字符。如果没有指定长度,则采用默认值,即变量数值的余数。如果两个数字(偏移量和长度)都是负数,使用的数字则是环境变量数值长度加上指定的偏移量或长度。

%PATH:~-10%

会提取 PATH 变量的最后十个字符。

%PATH:~0,-2%

会提取 PATH 变量的所有字符,除了最后两个。

相关阅读

  • Java 变量-java变量设置

  • 上犹设置问题
  • java变量设置,Java变量类型在Java中,必须先声明所有变量,然后才能使用它们。变量声明的基本形式如下所示:typeidentifier[=value][,identifier[=value]…
  • Java环境配置-java变量设置

  • 上犹设置问题
  • java变量设置,Java在学习一门语言之前,首先需要把相应的开发环境搭建好,要编译和执行Java程序,Java开发包(Java SE Devolopment Kit, JDK)是必备的。一.
关键词不能为空
极力推荐

电脑蓝屏_电脑怎么了_win7问题_win10问题_设置问题_文件问题_上犹电脑信息网

关于我们