|
|
本帖最后由 1139054012 于 2025-6-3 13:41 编辑
引用多个bat,这些都引用各自不同ps1
前两个运行成功,但是第二个运行了两次,然后就关闭cmd,无论是打开的cmd还是主cmd窗口都关闭 导致之后的操作暂停运行,怎样更改让最后一个bat也能复制正常运行?
bat编码都是UTF-8无签名 指定编码 不这样会乱码 ps1都是UTf-8有签名格式
引用的都是以下格式,运行完自删- @echo off
- :: 设置 UTF-8 编码
- chcp 65001 >nul
- :: 获取当前 .bat 所在目录(即要处理的 .ass 所在路径)
- set "TARGET_PATH=%CD%"
- :: 定义 .ps1 脚本的固定绝对路径(不要改)
- set "PS_SCRIPT=E:\reader\【批处理】【bat】【cmd】\批量移动字幕到子目录文件夹\根据简繁\ZSubAC转换器.ps1"
- :: 检查脚本是否存在
- if not exist "%PS_SCRIPT%" (
- echo [错误] 找不到 PowerShell 脚本: %PS_SCRIPT%
- pause
- exit /b 1
- )
- :: 输出调试信息(确认路径是否正确)
- echo.
- echo 当前路径 (TARGET_PATH): %TARGET_PATH%
- echo 脚本路径 (PS_SCRIPT): %PS_SCRIPT%
- :: 调用 PowerShell 并传递当前路径给 .ps1 脚本
- powershell.exe -NoProfile -ExecutionPolicy Bypass -Command "& { & '%PS_SCRIPT%' -Path '%TARGET_PATH%' }"
- :: 提示完成
- echo.
- echo 所有操作已完成,按任意键退出...
- rem 删除当前运行的BAT文件
- start "" cmd /c del "%~f0"
复制代码 |
|