本帖最后由 wkdxz 于 2023-11-17 15:24 编辑
前言
- 代码是2018年写的,当时完美解码是我的主力播放器,因为播放的文件太多,经常忘记文件放在哪里了,所以写了这个脚本。
- 摸鱼的电脑没有完美解码,所以截图里没有文件信息,只展示了功能。
- 如果有正在用完美解码的兄弟,可以试试脚本,电脑直接运行,无需任何环境设置,挺方便的。
- 新版的完美解码有可能注册表位置发生了变化,通过修改
HKCU\Software\Daum\PotPlayerMini\RememberFiles 可修正
代码功能
1 提供过读取注册表,展示完美解码播放过的文件
2 可以提供输入序号回车来打开文件
3 如果文件存在,则可以使用“序号+”的方式定位文件
4 如果播放的文件已删除,可以输入0查看已删除文件的路径
界面
代码
@echo off
setlocal enabledelayedexpansion
set zz= - By wkdxz
title %~n0!zz!
set ws="!tmp!\未删"
set ys="!tmp!\已删"
::删除残留文件
call :de
cd.>!ws!
cd.>!ys!
for /f "tokens=2 delims=^=" %%a in ('reg query HKCU\Software\Daum\PotPlayerMini\RememberFiles') do (
if exist "%%~a" (
set /a a1+=1
echo 【!a1!】%%~a>>!ws!
) else (
set /a a2+=1
echo 【!a2!】%%~a>>!ys!
)
)
goto weishan
exit
:weishan
title 完美解码播放过的文件(不含已删文件) !zz!
type "!ws!"
echo.
echo.
echo ---------选 项---------
echo.
echo ^> 输入序号打开对应文件;
echo.
echo ^> 输入“0”查看已删文件列表;
echo.
echo ^> 直接回车,则打开最后一个文件;
echo.
set b=
set /p b=^> 输入"序号+",则定位文件位置(如:“!a1!+”):
::设定b默认值
if not defined b set b=!a1!
if "!b!"=="+" set b=!a1!+
if "!b:~-1!"=="+" (
set b=!b:~,-1!
for /f "tokens=1,2 delims=【】" %%a in ('type "!ws!"') do (
if "%%a"=="!b!" (
start "" explorer /select,"%%~b"
call :de
)
)
) else (
for /f "tokens=1,2 delims=【】" %%a in ('type "!ws!"') do (
if "%%a"=="!b!" (
start "" "%%~b"
call :de
)
)
if 0==!b! goto yishan
)
goto :eof
:yishan
cls
title 完美解码播放过的文件(已删文件) !zz!
type "!ys!"
echo.
echo.
echo ---------选 项---------
echo.
echo ^> 输入序号打开对应文件路径(如果存在);
echo.
set b=
set /p b=^> 直接回车,则打开最后一个文件的路径(如:“!a2!”):
::设定b默认值
if not defined b set b=!a2!
for /f "tokens=1,2 delims=【】" %%a in ('type "!ys!"') do (
if "%%a"=="!b!" (
if exist "%%~dpb" (
start "" "%%~dpb"
call :de
) else (
cls
echo.
echo "%%~dpb"
echo.
echo.
echo !b!项路径已被删除,请按任意键返回...
pause >nul
goto yishan
)
)
)
goto :eof
:de
del /a/f/q "!ws!" "!ys!" >nul 2>nul
goto :eof
如果打不开代码,或运行出错,可以下载附件
查看完美解码播放记录.rar
(897 Bytes, 下载次数: 19)
|