BAT006:按给定长度分别去除当前目录下文件夹和文件的前缀和后缀(直接回车表示不去除)

本文介绍了如何编写批处理程序,按用户输入的长度去除当前目录下文件夹和文件的前缀及后缀。步骤包括新建文本文件、写入代码、另存为批处理程序并运行,实现文件名的批量修改。
摘要由CSDN通过智能技术生成

 引言:编写批处理程序,实现按给定长度分别去除当前目录下文件夹和文件的前缀和后缀(直接回车表示不去除)。

一、新建文本文件

  • 鼠标右键---》【新建】---》【文本文档】。

二、写入批处理代码

  • 双击打开新建的文本文件,在文本文件内写入以下代码:

@echo off
setlocal enabledelayedexpansion

set /p folderPrefixLength="请输入要去除的文件夹前缀长度(直接回车表示不去除): "
set /p folderSuffixLength="请输入要去除的文件夹后缀长度(直接回车表示不去除): "
set /p filePrefixLength="请输入要去除的文件前缀长度(直接回车表示不去除): "
set /p fileSuffixLength="请输入要去除的文件后缀长度(直接回车表示不去除): "

for /d %%F in (*) do (
    set "folderName=%%~nxF"
    if not "%folderPrefixLength%"=="" (
        if "%folderPrefixLength%"=="-" (
            set "folderName=!folderName:~%folderPrefixLength:~0,-1%!"
        ) else (
            set "folderName=!folderName:~%folderPrefixLength%!"
        )
    )
    if not "%folderSuffixLength%"=="" (
        if "%folderSuffixLength%"=="-" (
            set "folderName=!folderName:~0,-%folderSuffixLength:~0,-1%!"
        ) else (
            set "folderName=!folderName:~0,-%folderSuffixLength%!"
        )
    )
    if not "!folderName!"=="%%~nxF" (
        ren "%%F" "!folderName!"
    )
)

for %%F in (*) do (
    set "fileName=%%~nF"
    set "fileExtension=%%~xF"
    if not "%filePrefixLength%"=="" (
        if "%filePrefixLength%"=="-" (
            set "fileName=!fileName:~%filePrefixLength:~0,-1%!"
        ) else (
            set "fileName=!fileName:~%filePrefixLength%!"
        )
    )
    if not "%fileSuffixLength%"=="" (
        if "%fileSuffixLength%"=="-" (
            set "fileName=!fileName:~0,-%fileSuffixLength:~0,-1%!"
        ) else (
            set "fileName=!fileName:~0,-%fileSuffixLength%!"
        )
    )
    if not "!fileName!!fileExtension!"=="%%~nxF" (
        ren "%%F" "!fileName!!fileExtension!"
    )
)

echo 文件和文件夹名称修改完成!
pause



三、另存为批处理程序

1.在新建的文本文档菜单栏点击【文件】---》【另存为】。


2.在弹出的【另存为】对话框选择批处理保存路径---》【文件名】处输入批处理名称(需要添加后缀名.bat)---》【保存类型】处选择所有文件---》【编码】处下拉选择ANSI---》点击【保存】。


 四、运行批处理

1.双击运行批处理,输入需要去除的文件和文件夹后缀的长度

2.运行前的文件和文件夹如下图所示。

3.运行后的效果,成功按给定长度分别去除了当前目录下文件夹和文件的前缀和后缀。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq_31762031

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值