用windows批处理实现批量增量改名

    给你100个txt,怎么把她们的名字改成0.txt,1.txt,2.txt.....99.txt呢?

    貌似是一个很简单的改名字过程,但是如果数量比较大的话,就不能手工改名了。

    下面是用window批处理批量改名的代码:

    @echo off&setlocal EnableDelayedExpansion 
    set a=1 
    for /f "delims=" %%i in ('dir /b *.txt') do (
    rename "%%i" "!a!.txt"
    set /a a+=1 
    )  

    附:

    for 的/f代表遍历当前目录下的文件。"delims=" 指示分隔符集,这里是空集。

    dir 的/b代表只显示文件名

    set 的/a代表后面的等式中的字符串,当成数学算术式来处理。

 

    这里重点说明第一行, setlocal EnableDelayedExpansion即打开变量本地化。在批处理中,set定义的一个变量,有变量名扩展的功能,即同一个变量名有环境变量和本地变量两种意义。一般情况下,环境变量和本地变量内容保持一致,但是,在for循环体里面,使用本地变量要用感叹号,比如!a!使用环境变量仍然使用%a%.在默认情况下,比如set /a var=var+1.等号两边的var都是代表本地变量!var!

    看一个测试代码就知道了:

    @echo off
    setlocal EnableDelayedExpansion
    set var=abc
    echo %%var%%=%var%
    echo "var"=!var! 
    echo.
    for /l %%i in (1 1 10) do (
    set /a var=var+1

    ::全局变量
    echo %var%

    ::局部变量
    echo !var!  
    )

最后的结果是:

    

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值