• Windows批处理修改文件名


    =============================================

    @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

  • 相关阅读:
    NYOJ--703
    CDOJ--1369
    NYOJ--205
    NYOJ--520
    NYOJ--69
    CDOJ--1237
    [gist]Android SHA-1
    ConnectionAbortedError: [WinError 10053] 你的主机中的软件中止了一个已建立的连接
    SyntaxError:unexpected EOF while parsing(<string,line 0>)
    Django之get请求url的参数
  • 原文地址:https://www.cnblogs.com/shuaixf/p/2238179.html
Copyright © 2020-2023  润新知