sunsea 发表于 2022-2-15 10:36:26

ilywlm 发表于 2022-2-15 09:19
sunsea老哥,备份一份【干净】的文件是做备份的意思吗?我随时都可以备份啊,就等老哥有时间的时候帮忙写 ...

是,意思是备份【干净】状态下的文件,操作的文件夹和文件名给我。

ilywlm 发表于 2022-2-15 10:57:03

sunsea 发表于 2022-2-15 10:36
是,意思是备份【干净】状态下的文件,操作的文件夹和文件名给我。

主程序PotPlayerMini64.exe和存放列表的文件夹Playlist在同一目录

nttwqz 发表于 2022-2-15 11:06:22

ilywlm 发表于 2022-2-15 10:57
主程序PotPlayerMini64.exe和存放列表的文件夹Playlist在同一目录

我记得这个软件有类似不保存播放列表这样的功能

sunsea 发表于 2022-2-15 11:13:08

ilywlm 发表于 2022-2-15 10:57
主程序PotPlayerMini64.exe和存放列表的文件夹Playlist在同一目录
@echo off
pushd "%~dp0"
pushd ".\Playlist"
rem 备份的干净文件改名为a.dpl.bak,b.dpl.bak这样,和【播放器程序(PotPlayerMini64.exe)】放在同一个目录
for /f "delims=" %%i in ('dir /s /b *.dpl') do del /s /q /f "%%i"
rem 如下面这样继续添加
copy /b /y ..\a.dpl.bak .\a.dpl
copy /b /y ..\b.dpl.bak .\b.dpl
popd
start .\PotPlayerMini64.exe

ilywlm 发表于 2022-2-15 12:03:37

sunsea 发表于 2022-2-15 11:13


sunsea老哥,太感谢了!正是我希望的结果。这个软件是有不保存播放列表的功能,但是只对默认标签有效,对自建的标签无效,现在这个问题用您写的批处理解决了。啥时候老哥要是来雄安记得给我发邮件啊!

nttwqz 发表于 2022-2-15 21:07:39

ilywlm 发表于 2022-2-15 10:17
https://wormhole.app/ZkoEm#nrgUxV77tX0hvCsoz5xClQ
nttwqz兄看一下

原因已经找到,由于汉化版修改了播放列表路径所致。现已改为删除所有常见路径下的fpl文件然后启动。





nttwqz 发表于 2022-2-15 21:30:01

ilywlm 发表于 2022-2-15 12:03
sunsea老哥,太感谢了!正是我希望的结果。这个软件是有不保存播放列表的功能,但是只对默认标签有效,对 ...

其实我不明白,你都自建标签了,又想每次打开清空这个播放列表,那你这新建的意义何在?为何不直接使用默认?

ilywlm 发表于 2022-2-15 21:34:38

本帖最后由 ilywlm 于 2022-2-15 21:37 编辑

nttwqz 发表于 2022-2-15 21:07
原因已经找到,由于汉化版修改了播放列表路径所致。现已改为删除所有常见路径下的fpl文件然后启动。


...
感谢nttwqz兄在元宵节晚上还帮忙做程序,已经测试成功了,nttwqz兄如果来雄安这块儿记得给我发邮件啊(ilywlm@163.com)!

nttwqz 发表于 2022-2-15 22:07:52

ilywlm 发表于 2022-2-15 21:34
感谢nttwqz兄在元宵节晚上还帮忙做程序,已经测试成功了,nttwqz兄如果来雄安这块儿记得给我发邮件啊() ...

客气了!
顺便把PotPlayer的也给你写了,反正也没几行,不过需要你自己更改代码编译。

ilywlm 发表于 2022-2-15 22:50:33

nttwqz 发表于 2022-2-15 21:30
其实我不明白,你都自建标签了,又想每次打开清空这个播放列表,那你这新建的意义何在?为何不直接使用默 ...

nttwqz兄,说来话长啊!默认标签只有一个,我新建了三个,让软件总保持四个标签备用,我上课前会在不同的标签下放一个或两个视频,一般四、五个视频才能撑起一节课的容量,放在一个标签下的两个视频需要连放,放在不同标签下视频不能连放,我这样的要求一个标签满足不了,软件的收尾处理也满足不了,我这也是没有办法的办法啊,去下个班上课还会重复这个过程,下个班的视频和上个班的视频不一样,所以我希望在第二个班启动软件时标签是空的,省去清空的麻烦,nttwqz兄有好方法吗?

nttwqz 发表于 2022-2-16 11:47:16

ilywlm 发表于 2022-2-15 22:50
nttwqz兄,说来话长啊!默认标签只有一个,我新建了三个,让软件总保持四个标签备用,我上课前会在不同的 ...

想不到什么更好的办法。。。看来也只能用脚本工具了。

ilywlm 发表于 2022-2-16 13:25:27

nttwqz 发表于 2022-2-16 11:47
想不到什么更好的办法。。。看来也只能用脚本工具了。

nttwqz兄,我把potplayer的压缩包发给您看看吧,不知道是源代码的问题,还是我下载的编译软件有问题,或者是我的电脑有问题,折腾了一上午,总是出错终止进程,还是您看了压缩包给我发个成品吧!如果可以的话请把您用的编译软件也发给我,我想看看是不是软件的问题。有劳nttwqz兄!
https://wormhole.app/kWQPa#BR0xeFQV5UOhHUXkAKkG_Q

nttwqz 发表于 2022-2-16 15:02:20

ilywlm 发表于 2022-2-16 13:25
nttwqz兄,我把potplayer的压缩包发给您看看吧,不知道是源代码的问题,还是我下载的编译软件有问题,或 ...

应该没这么复杂吧?potplayer我也长期使用,试了有效。

我用的是英文原版nsis
nsis.sourceforge.io/Main_Page

编辑器使用开源的vscode,文件编码UTF-8 with bom

ilywlm 发表于 2022-2-16 16:38:08

本帖最后由 ilywlm 于 2022-2-16 17:57 编辑

nttwqz 发表于 2022-2-16 15:02
应该没这么复杂吧?potplayer我也长期使用,试了有效。

我用的是英文原版nsis

nttwqz兄,我在您提供的地址下载软件编译成功了,我试着改了您的源代码,把111,222,333改成了4,5,6,发现列表文件夹里既有111,222,333,又有4,5,6,可以在新建列表的代码前面加上清空列表的代码吗?我在!insertmacro "newdpl" "111"的上面加了一条Delete "$EXEDIR\Playlist\*.dpl"起到了清空列表的作用,这样写可以吗?
请教您把当前目录的a.dpl文件拷贝到当前目录的b文件夹里面怎么写代码?

nttwqz 发表于 2022-2-16 18:37:48

ilywlm 发表于 2022-2-16 16:38
nttwqz兄,我在您提供的地址下载软件编译成功了,我试着改了您的源代码,把111,222,333改成了4,5,6,发现 ...

看来你的代码基础是负值啊


你把列表改成已有列表名称就清空了!比如,你原来有111,那么111就会被清空!懂了吗?

多复制几行增加更多列表

nttwqz 发表于 2022-2-16 18:46:10

ilywlm 发表于 2022-2-16 16:38
nttwqz兄,我在您提供的地址下载软件编译成功了,我试着改了您的源代码,把111,222,333改成了4,5,6,发现 ...

我的理解是,你既然需要几个不同的列表,那么我直接给你新建一个空白的不就好了吗?比如你经常用甲、乙、丙三个列表,那么脚本新建三个空白的甲乙丙,甲乙丙上次的内容自然就没有了,你也就不需要备份恢复了。难道你的列表每次还要使用不同的名字?

这写法没问题。

ilywlm 发表于 2022-2-16 20:09:05

nttwqz 发表于 2022-2-16 18:46
我的理解是,你既然需要几个不同的列表,那么我直接给你新建一个空白的不就好了吗?比如你经常用甲、乙、 ...

让nttwqz兄见笑了,我的代码水平就是负值啊,我可是标准的文科生。您说的我懂了,可当老师的多少有点强迫症啊,我经常使用的三个列表的名字是固定的,但有新建列表的可能啊,下次启动程序新建的列表还有,新建列表里的文件也不会清空,我会很难受的。现在好了,可以像您说的多复制几行增加更多列表;也可以都删除了再新建,您不是说我在上面添的一行没问题嘛!
把当前目录的a.dpl文件拷贝到当前目录的b文件夹里面怎么写代码,这纯粹是向您请教代码,跟sunsea老哥学习了cmd里面的拷贝命令,想跟您学习一下nsi里面的拷贝命令。再次感谢nttwqz兄!

nttwqz 发表于 2022-2-16 20:24:56

ilywlm 发表于 2022-2-16 20:09
让nttwqz兄见笑了,我的代码水平就是负值啊,我可是标准的文科生。您说的我懂了,可当老师的多少有点强迫 ...

你如果用vscode应该会推荐你安装相关插件,安装好之后应该会有代码补全及提示功能。

复制文件用法应该大同小异。
CopyFiles "a.dpl" "$EXEDIR\b"

ilywlm 发表于 2022-2-17 09:25:34

nttwqz 发表于 2022-2-16 20:24
你如果用vscode应该会推荐你安装相关插件,安装好之后应该会有代码补全及提示功能。

复制文件用法应该 ...

nttwqz兄,这几天把您麻烦的够呛,让我上课轻松了不少,感谢的话不多说了,啥时候来这边旅游联系我就行了。昨天请教您的代码我想加点难度,把当前目录的a.dpl文件拷贝到当前目录的b文件夹里面并把文件重命名为c.dpl怎么写,请您有时间的时候回复一下就行了,我不并急需。我要消停一阵子,不老打扰老哥了,祝老哥工作顺利,万事如意!

nttwqz 发表于 2022-2-17 14:54:05

ilywlm 发表于 2022-2-17 09:25
nttwqz兄,这几天把您麻烦的够呛,让我上课轻松了不少,感谢的话不多说了,啥时候来这边旅游联系我就行了 ...

Rename $EXEDIR\b\b.dpl $EXEDIR\b\c.dpl

ilywlm 发表于 2022-2-17 17:32:33

nttwqz 发表于 2022-2-17 14:54
Rename $EXEDIR\b\b.dpl $EXEDIR\b\c.dpl

不想再打扰nttwqz兄的,可是我有3点疑问:1、这段代码里的b.dpl应该是a.dpl吧?2、如果是的话要跟昨天的代码合起来用才行,先把a.dpl文件拷贝到b文件夹里,再把b文件夹里的a.dpl重命名为c.dpl,是这样的吧?3、有连复制带改名一步到位的命令吗?

nttwqz 发表于 2022-2-17 18:06:26

ilywlm 发表于 2022-2-17 17:32
不想再打扰nttwqz兄的,可是我有3点疑问:1、这段代码里的b.dpl应该是a.dpl吧?2、如果是的话要跟昨天的 ...

我这只是举例,将b文件夹下的b文件改名成c。

一步到位的我至今没用过,手机上不便测试,你试试

CopyFiles "a.dpl" "$EXEDIR\b\c.dpl"

看能否成功

ilywlm 发表于 2022-2-17 18:16:09

nttwqz 发表于 2022-2-17 18:06
我这只是举例,将b文件夹下的b文件改名成c。

一步到位的我至今没用过,手机上不便测试,你试试


多谢nttwqz兄,测试成功

nttwqz 发表于 2022-2-17 18:57:44

本帖最后由 nttwqz 于 2022-2-17 19:08 编辑

ilywlm 发表于 2022-2-17 18:16
多谢nttwqz兄,测试成功
你也可以考虑使用其他办法,直接将文件内置。

;设置输出目录,决定文件将被释放到什么位置。输出目录变量是$OUTDIR
SetOutPath "$EXEDIR\b"
File "a.dpl"
;添加addfiles整个文件夹下的dpl文件,addfiles和脚本位于同一目录
File /r "addfiles\*.dpl"
SetOutPath "$EXEDIR\c"
;或者使用绝对路径,注意,上面改变了输出目录,"D:\DPLS\*.dpl"将被释放到程序目录下的c文件夹
File /r "D:\DPLS\*.dpl"

ilywlm 发表于 2022-2-17 21:19:01

nttwqz 发表于 2022-2-17 18:57
你也可以考虑使用其他办法,直接将文件内置。

感谢nttwqz兄,我好像看懂了:1、您这是举了三个例子吧?2、我把这三种都试了一下,第5行与第6行要颠倒一下顺序才行。3、File与File /r没发现区别。

lwz56 发表于 2022-2-17 21:50:24

可以哦

nttwqz 发表于 2022-2-17 22:22:46

ilywlm 发表于 2022-2-17 21:19
感谢nttwqz兄,我好像看懂了:1、您这是举了三个例子吧?2、我把这三种都试了一下,第5行与第6行要颠倒一 ...

具体用法看自己需求,不需要可以不管它

3416510931 发表于 2022-4-28 20:41:19

@echo off
rem 判断64位系统和32位系统
if /i %PROCESSOR_IDENTIFIER:~0,3%==x86 (
        echo 32位操作系统
        cd 32位程序路径文件夹
        start 32位程序名.exe
) else (
        echo 64位操作系统
        cd 64位程序路径文件夹
        start 64位程序名.exe
)
goto :eof

ilywlm 发表于 2022-5-28 22:45:11

nttwqz 发表于 2022-2-17 22:22
具体用法看自己需求,不需要可以不管它

老哥,我又碰到一个问题来请教您。我一直在用您教的方法启动foobar2000,体验非常好。我用的歌词文件里有特殊符号,所以需要在启动软件前先装字体,我想简化步骤,所以在论坛里找了个vbs文件,双击这个vbs文件就可以安装字体了,想请教您能在您的nsi文件里写一行命令运行这个vbs吗,可以的话就一步到位了,请老哥有时间回复一下,多谢老哥!(学校的一体机有还原功能,这次装了字体下次开机还要再装,很麻烦啊)

nttwqz 发表于 2022-5-29 10:09:19

本帖最后由 nttwqz 于 2022-5-29 10:14 编辑

ilywlm 发表于 2022-5-28 22:45
老哥,我又碰到一个问题来请教您。我一直在用您教的方法启动foobar2000,体验非常好。我用的歌词文件里有 ...
在启动程序之前的适当位置添加,安装字体可能需要管理员权限,请自测

# 在文件开头添加下面两行
!include "x64.nsh"
!include "LogicLib.nsh"

SetOutPath "$FONTS"
File "我的字体.ttf"
SetOutPath "$TEMP"
File "FontRegx86.exe"   
File "FontRegx64.exe"
${If} ${IsNativeAMD64}
${OrIf} ${IsWow64}
    Exec "FontRegx64.exe"
${Else}
    Exec "FontRegx86.exe"
${EndIf}
页: 1 [2] 3
查看完整版本: BAT按位数运行当前文件夹中不同子文件夹的同名不同位文件