[批处理] 查看完美解码播放记录
本帖最后由 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
```
### 如果打不开代码,或运行出错,可以下载附件
个人觉得目前最好用的播放器了(最早用金山影霸,后来风暴影音,kmplayer,media player classic,QQ影音,都过去式了)。
借楼主地方顺带分享下,potplayer的官方下载地址(下下来的都是最新版)。
https://t1.daumcdn.net/potplayer/PotPlayer/Version/Latest/PotPlayerSetup.exe 在用着完美播放器,支持下,期待添加多些功能。多谢LZ分享 学习了! 试试行不行;要是能看别人的电脑就好了。 学习了,感谢 感觉很有用很不错 感谢分享。
如果播放过的文件名包含英文感叹号,或者其所在的文件夹名包含英文感叹号,代码是否无法正确处理? 哇哦!这个看着不错,去试试! 非常不错,感谢楼主!