【前缀“选区-” bat脚本】

2024-06-04 08:54:27 浏览数 (3)

我们可以提供一个更完整的批处理脚本和PowerShell脚本。确保它们都能正确处理带有前缀“选区-”的文件名。

批处理脚本(.bat): 以下是改进后的批处理脚本,使用dir /b /a-d列出文件,并确保正确处理包含非ASCII字符的文件名:

代码语言:txt复制
@echo off
setlocal enabledelayedexpansion
chcp 65001 >nul
:: 要删除的前缀
set "prefix=选区-"
:: 要保留的后缀
set "suffix=.jpg"

:: 确保批处理脚本能够正确处理非ASCII字符
chcp 65001 >nul

:: 遍历当前目录下所有带前缀的文件
for /f "delims=" %%f in ('dir /b /a-d "%prefix%*%suffix%"') do (
    :: 获取原文件名(带扩展名)
    set "filename=%%f"
    
    :: 删除前缀
    set "newname=!filename:%prefix%=!"
    
    :: 输出旧文件名和新文件名用于调试
    echo Old Name: "%%f"
    echo New Name: "!newname!"
    
    :: 重命名文件
    ren "%%f" "!newname!"
)

echo 完成重命名。
pause

具体步骤:

创建批处理脚本文件:

打开一个文本编辑器(推荐使用Notepad 或VSCode)。

复制上述批处理脚本代码并粘贴到文本编辑器中。

将文件保存为remove_prefix.bat。

创建PowerShell脚本文件:

打开一个文本编辑器(推荐使用Notepad 或VSCode)。

复制上述PowerShell脚本代码并粘贴到文本编辑器中。

将文件保存为remove_prefix.ps1。

运行批处理脚本:

将remove_prefix.bat放在需要批量删除前缀的文件所在的目录。

双击运行remove_prefix.bat。

运行PowerShell脚本:

将remove_prefix.ps1放在需要批量删除前缀的文件所在的目录。

右键单击脚本文件并选择“使用PowerShell运行”。 或者在PowerShell中运行以下命令:

powershell

复制

Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass

.remove_prefix.ps1

验证:

运行脚本后,查看输出以确保所有文件名都正确处理。

确认每个文件的旧文件名和新文件名是否正确。

如果仍然有问题,请提供更多的错误信息以便进一步调试和解决问题。

1 人点赞