📜  批处理脚本 - 删除两端(1)

📅  最后修改于: 2023-12-03 15:25:48.154000             🧑  作者: Mango

批处理脚本 - 删除两端

简介

批处理脚本是 Windows 平台下的一种脚本语言,它能够在命令行下执行一系列的操作,包括但不限于文件操作、网络操作、系统配置等等。本文将着重介绍如何通过批处理脚本删除文件名中左右两端的指定字符。

实现原理

通过批处理脚本中的字符串处理功能,我们可以很容易地实现字符串的首尾删除等操作。主要的命令有:

  • %variable:~start,length%:截取变量中指定范围的字符。
  • %variable:searchStr=replaceStr%:替换变量中指定字符串。

有了这些命令,我们就可以实现删除文件名左右两端的指定字符。具体实现如下:

@echo off
setlocal enabledelayedexpansion

set searchStr=_
set replaceStr=

for %%a in (*.txt) do (
    set oldName=%%a
    set newName=!oldName:%searchStr%=%replaceStr%!
    set newName=!newName:*%searchStr%=!
    set newName=!newName:%searchStr%=!
    ren "!oldName!" "!newName!"
)

endlocal

上述代码可以批量将当前目录下所有 txt 文件的文件名去掉左右两端的下划线。

注意事项
  • setlocal enabledelayedexpansion:启用延迟扩展,以便在 for 循环内部可以正确地访问变量。
  • set oldName=%%a:将当前文件名赋值给 oldName 变量。
  • !oldName:%searchStr%=%replaceStr%!:将 oldName 变量中的 searchStr 替换成 replaceStr。
  • !newName:*%searchStr%=!:删除 newNam 右侧第一个 searchStr 及其右侧的字符。注意变量的使用方法。
  • !newName:%searchStr%=!:将 newNam 中的所有 searchStr 全部删除。
  • ren "!oldName!" "!newName!":用新的文件名替换原来的文件名。
总结

批处理脚本可以简化 Windows 平台下的一些操作,通过上述的方法,我们可以轻松地实现删除文件名两端指定字符的需求。当然,批处理脚本还有很多其他的用途,如有兴趣可以继续学习。