无忧启动论坛

标题: BAT按位数运行当前文件夹中不同子文件夹的同名不同位文件 [打印本页]

作者: cclgoo    时间: 2022-2-13 08:35
标题: BAT按位数运行当前文件夹中不同子文件夹的同名不同位文件
本帖最后由 cclgoo 于 2022-2-14 00:37 编辑

说明如下:A文件夹里有B1文件夹和B2文件夹和BAT文件

其中B1文件夹和B2文件夹分别有个同名的字幕.exe文件(不可改名,但B1的字幕.exe是86位,B2的字幕.exe是64位)
如何写A文件里的BAT文件(32位运行B1里的字幕.exe,64位运行B2里的字幕.exe)

新手不懂,这该怎么写,求完整代码

@echo off%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit
cd /d "%~dp0"
rem 判断64位系统和32位系统
if /i %PROCESSOR_IDENTIFIER:~0,3%==x86 (
    echo 32位操作系统
set current_path=%cd%
start %current_path%\字幕.EXE
) else (
    echo 64位操作系统
set current_path=%cd%
start %current_path%\字幕.EXE
)
exit




作者: nttwqz    时间: 2022-2-13 09:08
我怎么感觉你像是2010无忧的马甲。。。
作者: sunsea    时间: 2022-2-13 09:34
本帖最后由 sunsea 于 2022-2-13 09:36 编辑
  1. @echo off
  2. pushd "%~dp0"
  3. reg query "HKLM\System\CurrentControlSet\Control\Session Manager\Environment" /v PROCESSOR_ARCHITECTURE | findstr AMD64 > nul
  4. if NOT ERRORLEVEL 0 (start .\B1\字幕.exe) ELSE (start .\B2\字幕.exe)
复制代码

之所以直接查询注册表,是为了排除因为各种原因启动了Syswow64里面那个cmd.exe的情况,此时可能会误判。
作者: nttwqz    时间: 2022-2-13 10:55
sunsea 发表于 2022-2-13 09:34
之所以直接查询注册表,是为了排除因为各种原因启动了Syswow64里面那个cmd.exe的情况,此时可能会误判。

很少见到的超版。。。()
作者: ilywlm    时间: 2022-2-13 10:57
sunsea 发表于 2022-2-13 09:34
之所以直接查询注册表,是为了排除因为各种原因启动了Syswow64里面那个cmd.exe的情况,此时可能会误判。

老哥您好,借楼请教您一个问题,我用foobar2000听歌但不想让它保存播放列表,就是重新启动程序后列表里是空的,foobar2000没这个功能,我想写一个批处理,用批处理启动foobar2000同时删除playlists-v1.4文件夹里的fpl文件,我百度了半天没有成功,请老哥有时间帮帮忙,多谢!(vbs是不是比bat好一些啊,不喜欢bat运行时出现的黑色窗口)
作者: sunsea    时间: 2022-2-13 11:32
ilywlm 发表于 2022-2-13 10:57
老哥您好,借楼请教您一个问题,我用foobar2000听歌但不想让它保存播放列表,就是重新启动程序后列表里是 ...

vbs不会。建议先备份、小规模测试。
  1. @echo off
  2. pushd "%~dp0"
  3. pushd ".\playlists-v1.4"
  4. for /f "delims=" %%i in ('dir /s /b *.fpl') do del /s /q /f "%%i"
  5. popd
  6. start .\foobar2000.exe
复制代码

作者: 邪恶海盗    时间: 2022-2-13 12:11
软件自动安装器SWAI v2测试版,可根据不同系统版本及位宽批量执行程序...
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=423999
作者: ilywlm    时间: 2022-2-13 13:18
sunsea 发表于 2022-2-13 11:32
vbs不会。建议先备份、小规模测试。

感谢老哥及时回复,我建了一个txt文件,把您发的代码粘贴进去保存然后把文件的后缀名改成bat,双击后出现错误窗口说无效字符,是我做的不对吗?以前也是这样,我直接下载的bat文件就可以运行,我复制代码过来的就不行。麻烦老哥做个现成的发我邮箱吧(ilywlm@163.com);还有我只要删除文件夹里的fpl文件,别的文件不删除,您的代码好像是把所有的文件都删了吧,请老哥再看一眼,我没办法测试瞎猜的。有劳老哥啦!
作者: sunsea    时间: 2022-2-13 14:48
本帖最后由 sunsea 于 2022-2-13 14:53 编辑
ilywlm 发表于 2022-2-13 13:18
感谢老哥及时回复,我建了一个txt文件,把您发的代码粘贴进去保存然后把文件的后缀名改成bat,双击后出现 ...

可能是你的浏览器什么的有些问题,代入非法字符了。
123.zip (272 Bytes, 下载次数: 10) 发一个打包的。以及你再仔细看看,只删fpl的。觉得不放心可以先备份小规模试验,主要是我不用这个播放器……


作者: 2010无忧    时间: 2022-2-13 16:12
nttwqz 发表于 2022-2-13 09:08
我怎么感觉你像是2010无忧的马甲。。。

这个得澄清一下 ,还真不是我的马甲,好像从新冠疫情就没怎么登过论坛了,前两天回来上班整理文件才回论坛请教了一下批处理。不过 我也算论坛老用户了吧,十几年了,曾经还是元帅,后来级别给降下来了  
作者: ilywlm    时间: 2022-2-13 16:13
sunsea 发表于 2022-2-13 14:48
可能是你的浏览器什么的有些问题,代入非法字符了。
发一个打包的。以及你再仔细看看,只删fpl的。觉得 ...

多谢老哥,用您打包的测试成功了,正是我想要的结果,如果老哥有运行cmd不让它闪一下的方法请告诉我一下,没有也没关系,再次感谢老哥帮忙!
作者: nttwqz    时间: 2022-2-13 17:37
ilywlm 发表于 2022-2-13 16:13
多谢老哥,用您打包的测试成功了,正是我想要的结果,如果老哥有运行cmd不让它闪一下的方法请告诉我一下 ...

经测试,只要将播放列表所在文件夹设置只读属性就能达到这种效果。也或许播放器本身就有这功能也说不定,奈何爱国人士看不懂非中文语言。
作者: nttwqz    时间: 2022-2-13 17:40
2010无忧 发表于 2022-2-13 16:12
这个得澄清一下 ,还真不是我的马甲,好像从新冠疫情就没怎么登过论坛了,前两天回来上班整理文件才回论 ...

你不说我都忘了曾经降级的事儿了。。。
作者: sunsea    时间: 2022-2-13 17:41
ilywlm 发表于 2022-2-13 16:13
多谢老哥,用您打包的测试成功了,正是我想要的结果,如果老哥有运行cmd不让它闪一下的方法请告诉我一下 ...

找到论坛里的PECMD2012,按照相关说明安装(压缩包里应该有个批处理),然后你的快捷方式里写上
  1. PECMD.EXE EXEC !cmd.exe /c call 你的批处理文件绝对路径
复制代码

作者: ilywlm    时间: 2022-2-13 19:11
nttwqz 发表于 2022-2-13 17:37
经测试,只要将播放列表所在文件夹设置只读属性就能达到这种效果。也或许播放器本身就有这功能也说不定, ...

多谢nttwqz兄回复,我也怕自己foobar2000玩的不精,专门向Asion请教过,确实没这个功能。列表文件夹设成只读我试过,关闭程序时界面会闪烁无法关闭,只有sunsea老兄的批处理成功了。
作者: nttwqz    时间: 2022-2-13 19:12
本帖最后由 nttwqz 于 2022-2-13 19:18 编辑
ilywlm 发表于 2022-2-13 19:11
多谢nttwqz兄回复,我也怕自己foobar2000玩的不精,专门向Asion请教过,确实没这个功能。列表文件夹设成 ...

可我测试的1.6.9原版正常啊?
我的方法是,将列表文件先删除,然后设置只读属性,含子文件夹及文件,然后就关闭保存列表了。

作者: cclgoo    时间: 2022-2-14 00:45
sunsea 发表于 2022-2-13 09:34
之所以直接查询注册表,是为了排除因为各种原因启动了Syswow64里面那个cmd.exe的情况,此时可能会误判。

谢谢!我之前多用了两个SET,总感觉好怪的样子.感谢教导,新人敬尊
作者: ilywlm    时间: 2022-2-14 09:34
sunsea 发表于 2022-2-13 17:41
找到论坛里的PECMD2012,按照相关说明安装(压缩包里应该有个批处理),然后你的快捷方式里写上

老哥您好,不好意思又来麻烦您,我想把您的批处理也用到potplayer上,但是pot的专辑标签和标签下的播放列表是一个文件(dpl文件,foobar的标签和列表是两个文件),一删除就把标签和列表都删除了,我想保留标签删除列表,想到的办法是先删除再新建,就是把dpl文件都删除了再新建a,b,c三个空的dpl文件,这个想法行吗,还是有更好的办法,请老哥有时间的话再帮忙写个批处理吧,祝老哥情人节元宵节快乐!
作者: nttwqz    时间: 2022-2-14 10:48
ilywlm 发表于 2022-2-14 09:34
老哥您好,不好意思又来麻烦您,我想把您的批处理也用到potplayer上,但是pot的专辑标签和标签下的播放列 ...

你这是播放什么奢靡之音哪。。。
作者: ilywlm    时间: 2022-2-14 11:31
nttwqz 发表于 2022-2-14 10:48
你这是播放什么奢靡之音哪。。。

nttwqz老兄,我是英语老师也是班主任,经常在不同的班用一体机播放听力和视频,不同的班放的东西不一样,听力和视频一节课要用3、4段,要放在不同的标签下,因为要一段一段的听,一体机又是触屏的,每节课都要点好多次屏幕清除再点好多次屏幕添加,批处理可以简化操作啊!
作者: nttwqz    时间: 2022-2-14 13:41
本帖最后由 nttwqz 于 2022-2-14 13:49 编辑
ilywlm 发表于 2022-2-14 11:31
nttwqz老兄,我是英语老师也是班主任,经常在不同的班用一体机播放听力和视频,不同的班放的东西不一样, ...


原来是英语老师兼班主任哪,老师好!情人节快乐,元宵节快乐。

看来是我思想龌龊了啊。。。^_^

等晚上回来,我用NSIS给你写一个,就不会有黑框了。
作者: sunsea    时间: 2022-2-14 14:03
ilywlm 发表于 2022-2-14 09:34
老哥您好,不好意思又来麻烦您,我想把您的批处理也用到potplayer上,但是pot的专辑标签和标签下的播放列 ...

你可以考虑备份一份【干净】的文件,然后我给你写个批处理。
作者: nttwqz    时间: 2022-2-14 21:12
ilywlm 发表于 2022-2-13 16:13
多谢老哥,用您打包的测试成功了,正是我想要的结果,如果老哥有运行cmd不让它闪一下的方法请告诉我一下 ...

清空播放列表并启动foobar2000.7z (52.4 KB, 下载次数: 7)
源代码.7z (32.36 KB, 下载次数: 4)

不放心可自己下载NSIS3编译。

作者: ilywlm    时间: 2022-2-14 21:41
nttwqz 发表于 2022-2-14 21:12
不放心可自己下载NSIS3编译。

感谢nttwqz兄,我绝对放心啊,刚试了一下,双击exe文件没反应,sunsea老兄的批处理可以,请您有时间的话对比一下,我这水平不知道问题出在哪里。
作者: nttwqz    时间: 2022-2-14 21:54
ilywlm 发表于 2022-2-14 21:41
感谢nttwqz兄,我绝对放心啊,刚试了一下,双击exe文件没反应,sunsea老兄的批处理可以,请您有时间的话 ...

其实我不知道你的问题出在哪里,毕竟我前面都说了,设置只读就能达到播放列表不保存的目的,我是实机测试的。这远比弄个脚本之类的程序更直接。

我这个也是实机安装测试好多遍的,无论是安装还是便携安装都可以删除播放列表后启动,必须放到foobar2000同目录下,否则程序会提示错误,且主程序名必须是foobar2000,如果不是请自行修改源代码(已提供)。

测试版本foobar2000 1.6.10英文原版,是刚刚发布的新版。

还有种几乎不会发生的失误,我可能将之前不正常的旧版发出来了,但是可能性很小,毕竟我也测试了好多遍了,尝试重新编译试试。也建议退出各种卫士管家和杀毒试试,看是不是拦截了。毕竟我这水平对于它们来说,已经能用批处理编写木马好多年。。。
作者: ilywlm    时间: 2022-2-15 09:10
nttwqz 发表于 2022-2-14 21:54
其实我不知道你的问题出在哪里,毕竟我前面都说了,设置只读就能达到播放列表不保存的目的,我是实机测试 ...

果然如nttwqz兄说的一样,我用1.6.10英文原版可以正常启动,我上课用的是Asion汉化版,汉化版的playlists-v1.4文件夹和foobar2000.exe在同一目录,我把源代码的profile目录删除了,重新编译说第8行出错,请nttwqz兄有时间帮忙改一下吧,我搞不定啊!(我用英文原版没有问题,但汉化版的界面由Asion修改过,适合触屏使用,我无法舍弃)
作者: ilywlm    时间: 2022-2-15 09:19
sunsea 发表于 2022-2-14 14:03
你可以考虑备份一份【干净】的文件,然后我给你写个批处理。

sunsea老哥,备份一份【干净】的文件是做备份的意思吗?我随时都可以备份啊,就等老哥有时间的时候帮忙写个批处理啦!
作者: nttwqz    时间: 2022-2-15 09:41
ilywlm 发表于 2022-2-15 09:10
果然如nttwqz兄说的一样,我用1.6.10英文原版可以正常启动,我上课用的是Asion汉化版,汉化版的playlists ...

汉化版是绿色版吧?我这个默认支持,编写时就考虑到了这种情况。如果我没记错的人情况下应该是先检测当前路径,有则是绿色版,然后再检测安装版,如果也有,会被更新成新路径。

你检测路径和文件名,估计是这个错了。
实在不行上传汉化版
作者: nttwqz    时间: 2022-2-15 09:54
ilywlm 发表于 2022-2-15 09:10
果然如nttwqz兄说的一样,我用1.6.10英文原版可以正常启动,我上课用的是Asion汉化版,汉化版的playlists ...

已找到汉化版下载链接,晚上下班看看吧
作者: ilywlm    时间: 2022-2-15 10:17
nttwqz 发表于 2022-2-15 09:41
汉化版是绿色版吧?我这个默认支持,编写时就考虑到了这种情况。如果我没记错的人情况下应该是先检测当前 ...

https://wormhole.app/ZkoEm#nrgUxV77tX0hvCsoz5xClQ
nttwqz兄看一下
作者: sunsea    时间: 2022-2-15 10:36
ilywlm 发表于 2022-2-15 09:19
sunsea老哥,备份一份【干净】的文件是做备份的意思吗?我随时都可以备份啊,就等老哥有时间的时候帮忙写 ...

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

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

我记得这个软件有类似不保存播放列表这样的功能
作者: sunsea    时间: 2022-2-15 11:13
ilywlm 发表于 2022-2-15 10:57
主程序PotPlayerMini64.exe和存放列表的文件夹Playlist在同一目录
  1. @echo off
  2. pushd "%~dp0"
  3. pushd ".\Playlist"
  4. rem 备份的干净文件改名为a.dpl.bak,b.dpl.bak这样,和【播放器程序(PotPlayerMini64.exe)】放在同一个目录
  5. for /f "delims=" %%i in ('dir /s /b *.dpl') do del /s /q /f "%%i"
  6. rem 如下面这样继续添加
  7. copy /b /y ..\a.dpl.bak .\a.dpl
  8. copy /b /y ..\b.dpl.bak .\b.dpl
  9. popd
  10. start .\PotPlayerMini64.exe
复制代码

123.zip

405 Bytes, 下载次数: 4, 下载积分: 无忧币 -2


作者: ilywlm    时间: 2022-2-15 12:03
sunsea 发表于 2022-2-15 11:13

sunsea老哥,太感谢了!正是我希望的结果。这个软件是有不保存播放列表的功能,但是只对默认标签有效,对自建的标签无效,现在这个问题用您写的批处理解决了。啥时候老哥要是来雄安记得给我发邮件啊!
作者: nttwqz    时间: 2022-2-15 21:07
ilywlm 发表于 2022-2-15 10:17
https://wormhole.app/ZkoEm#nrgUxV77tX0hvCsoz5xClQ
nttwqz兄看一下

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

源代码.7z (32.65 KB, 下载次数: 3)
清空播放列表并启动foobar2000.7z (51.98 KB, 下载次数: 3)



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

其实我不明白,你都自建标签了,又想每次打开清空这个播放列表,那你这新建的意义何在?为何不直接使用默认?
作者: ilywlm    时间: 2022-2-15 21:34
本帖最后由 ilywlm 于 2022-2-15 21:37 编辑
nttwqz 发表于 2022-2-15 21:07
原因已经找到,由于汉化版修改了播放列表路径所致。现已改为删除所有常见路径下的fpl文件然后启动。


...

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

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

源代码.7z

19.03 KB, 下载次数: 4, 下载积分: 无忧币 -2


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

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

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

nttwqz兄,我把potplayer的压缩包发给您看看吧,不知道是源代码的问题,还是我下载的编译软件有问题,或者是我的电脑有问题,折腾了一上午,总是出错终止进程,还是您看了压缩包给我发个成品吧!如果可以的话请把您用的编译软件也发给我,我想看看是不是软件的问题。有劳nttwqz兄!
https://wormhole.app/kWQPa#BR0xeFQV5UOhHUXkAKkG_Q
作者: nttwqz    时间: 2022-2-16 15:02
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
本帖最后由 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
ilywlm 发表于 2022-2-16 16:38
nttwqz兄,我在您提供的地址下载软件编译成功了,我试着改了您的源代码,把111,222,333改成了4,5,6,发现 ...

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


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

多复制几行增加更多列表
作者: nttwqz    时间: 2022-2-16 18:46
ilywlm 发表于 2022-2-16 16:38
nttwqz兄,我在您提供的地址下载软件编译成功了,我试着改了您的源代码,把111,222,333改成了4,5,6,发现 ...

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

这写法没问题。
作者: ilywlm    时间: 2022-2-16 20:09
nttwqz 发表于 2022-2-16 18:46
我的理解是,你既然需要几个不同的列表,那么我直接给你新建一个空白的不就好了吗?比如你经常用甲、乙、 ...

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

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

复制文件用法应该大同小异。
CopyFiles "a.dpl" "$EXEDIR\b"
作者: ilywlm    时间: 2022-2-17 09:25
nttwqz 发表于 2022-2-16 20:24
你如果用vscode应该会推荐你安装相关插件,安装好之后应该会有代码补全及提示功能。

复制文件用法应该 ...

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

Rename $EXEDIR\b\b.dpl $EXEDIR\b\c.dpl
作者: ilywlm    时间: 2022-2-17 17:32
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
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
nttwqz 发表于 2022-2-17 18:06
我这只是举例,将b文件夹下的b文件改名成c。

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

多谢nttwqz兄,测试成功
作者: nttwqz    时间: 2022-2-17 18:57
本帖最后由 nttwqz 于 2022-2-17 19:08 编辑
ilywlm 发表于 2022-2-17 18:16
多谢nttwqz兄,测试成功

你也可以考虑使用其他办法,直接将文件内置。

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



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

感谢nttwqz兄,我好像看懂了:1、您这是举了三个例子吧?2、我把这三种都试了一下,第5行与第6行要颠倒一下顺序才行。3、File与File /r没发现区别。
作者: lwz56    时间: 2022-2-17 21:50
可以哦
作者: nttwqz    时间: 2022-2-17 22:22
ilywlm 发表于 2022-2-17 21:19
感谢nttwqz兄,我好像看懂了:1、您这是举了三个例子吧?2、我把这三种都试了一下,第5行与第6行要颠倒一 ...

具体用法看自己需求,不需要可以不管它
作者: 3416510931    时间: 2022-4-28 20:41
@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
nttwqz 发表于 2022-2-17 22:22
具体用法看自己需求,不需要可以不管它

老哥,我又碰到一个问题来请教您。我一直在用您教的方法启动foobar2000,体验非常好。我用的歌词文件里有特殊符号,所以需要在启动软件前先装字体,我想简化步骤,所以在论坛里找了个vbs文件,双击这个vbs文件就可以安装字体了,想请教您能在您的nsi文件里写一行命令运行这个vbs吗,可以的话就一步到位了,请老哥有时间回复一下,多谢老哥!(学校的一体机有还原功能,这次装了字体下次开机还要再装,很麻烦啊)
作者: nttwqz    时间: 2022-5-29 10:09
本帖最后由 nttwqz 于 2022-5-29 10:14 编辑
ilywlm 发表于 2022-5-28 22:45
老哥,我又碰到一个问题来请教您。我一直在用您教的方法启动foobar2000,体验非常好。我用的歌词文件里有 ...

在启动程序之前的适当位置添加,安装字体可能需要管理员权限,请自测

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

  4. SetOutPath "$FONTS"
  5. File "我的字体.ttf"
  6. SetOutPath "$TEMP"
  7. File "FontRegx86.exe"   
  8. File "FontRegx64.exe"
  9. ${If} ${IsNativeAMD64}
  10. ${OrIf} ${IsWow64}
  11.     Exec "FontRegx64.exe"
  12. ${Else}
  13.     Exec "FontRegx86.exe"
  14. ${EndIf}
复制代码

FontReg.7z

5.31 KB, 下载次数: 2, 下载积分: 无忧币 -2


作者: nttwqz    时间: 2022-5-29 10:12
如果你都是64位系统,下面这也行,更加单

  1. SetOutPath "$FONTS"
  2. File "我的字体.ttf"
  3. SetOutPath "$TEMP"
  4. File "FontRegx64.exe"
  5. Exec "FontRegx64.exe"
复制代码

作者: ilywlm    时间: 2022-5-29 10:48
nttwqz 发表于 2022-5-29 10:09
在启动程序之前的适当位置添加,安装字体可能需要管理员权限,请自测

老哥,能写一行命令运行这个vbs文件吗?我现在用的这个vbs文件很好用,双击这个vbs文件就可以安装vbs文件所在目录的字体了,也不需要管理员权限。
或者我把这个vbs文件发给您,您看一下能不能把内容写进您的nsi文件里,如果都行不通的话,我再试您刚发给我的这个命令和文件,我好像用过这个FontRegx64.exe,不是太好用的样子。
作者: nttwqz    时间: 2022-5-29 12:56
ilywlm 发表于 2022-5-29 10:48
老哥,能写一行命令运行这个vbs文件吗?我现在用的这个vbs文件很好用,双击这个vbs文件就可以安装vbs文件 ...

你试过?此方法经过大量实践验证可靠,论坛里好多人都用过,你说的不好用可能是你没把字体复制到Fonts文件夹,这个程序只是注册,不会手动复制。
作者: ilywlm    时间: 2022-5-29 22:19
nttwqz 发表于 2022-5-29 12:56
你试过?此方法经过大量实践验证可靠,论坛里好多人都用过,你说的不好用可能是你没把字体复制到Fonts文 ...

请老哥有时间弄个成品吧,我把代码复制到nsi文件里,运行编译出来的exe文件,发现没有任何作用,不知道哪弄错了,我的代码水平您是知道的!
还想请教老哥一下,我原来装字体就是复制字体文件到Fonts文件夹的,您说这个是注册字体的,不是复制字体到Fonts文件夹的,是不是注册了就能用了,不需要复制了?
作者: nttwqz    时间: 2022-5-29 22:57
ilywlm 发表于 2022-5-29 22:19
请老哥有时间弄个成品吧,我把代码复制到nsi文件里,运行编译出来的exe文件,发现没有任何作用,不知道哪 ...

我这没办法编译,请将nsi脚本和字体文件、两个FontReg程序放在同目录下,最好是英文目录下

并将 我的字体.ttf 改为你实际的字体文件和后缀名

将之前的代码添加到Function .onInit下面

作者: dos时代菜鸟    时间: 2022-5-30 09:24
  1.         if "%programfiles:~-5%"=="(x86)" ( rem 如果此脚本被64位系统下的32位程序调用
  2.                 set "bit=x86"
  3.         ) else (
  4.                 set "bit=x%PROCESSOR_ARCHITECTURE:~-2%"
  5.         )
复制代码

作者: 2010wlm    时间: 2022-5-30 15:42
本帖最后由 2010wlm 于 2022-5-30 15:44 编辑
sunsea 发表于 2022-2-13 11:32
vbs不会。建议先备份、小规模测试。

为什么直接删除*.fpl 不行?要用for循环呢?
补充:是考虑到跨子目录了,我没看到

作者: ilywlm    时间: 2022-6-3 13:00
nttwqz 发表于 2022-5-29 22:57
我这没办法编译,请将nsi脚本和字体文件、两个FontReg程序放在同目录下,最好是英文目录下

并将 我的 ...

老哥,我按您说的方法编译exe文件运行,没有实现我的想法,我猜测有两个可能:1、我弄的nsi脚本有问题。2、您说这段代码只注册字体不会把字体复制到Fonts文件夹,应该是注册不行,复制才行。我平时都是复制的,用着没问题。我觉得第2个可能性更大,请老哥有时间帮忙整个复制字体的代码,或者运行我说的vbs文件(这个文件就是复制字体文件到Fonts文件夹的),多谢老哥!
作者: nttwqz    时间: 2022-6-3 14:59
ilywlm 发表于 2022-6-3 13:00
老哥,我按您说的方法编译exe文件运行,没有实现我的想法,我猜测有两个可能:1、我弄的nsi脚本有问题。2 ...

请分享你的字体文件,否则无法编译。
作者: ilywlm    时间: 2022-6-3 17:27
本帖最后由 ilywlm 于 2022-6-3 17:52 编辑
nttwqz 发表于 2022-6-3 14:59
请分享你的字体文件,否则无法编译。

https://wormhole.app/zXZqy#vcwPgru5alnCGrEKkGUmUA
老哥,我把字体文件打包发到上边的链接了https://wormhole.app/lmZON#YO9t9l-lAzQR-wWPg6OLlg
老哥,我把vbs文件发在第二个链接了,双击这个vbs文件就可以把同目录下的字体文件复制到Fonts文件夹,老哥看有没有利用价值。

作者: nttwqz    时间: 2022-6-3 18:53
本帖最后由 nttwqz 于 2022-6-3 18:59 编辑
ilywlm 发表于 2022-6-3 17:27
https://wormhole.app/zXZqy#vcwPgru5alnCGrEKkGUmUA
老哥,我把字体文件打包发到上边的链接了https://w ...

https://wormhole.app/blrNm#c_Kb9xiiclK_Ch7hDMgwlg
感觉你这两个字体也没什么特别的,建议修改设置,改成自带字体,或者关闭保护,一次安装一直生效。

作者: ilywlm    时间: 2022-6-3 19:20
nttwqz 发表于 2022-6-3 18:53
https://wormhole.app/blrNm#c_Kb9xiiclK_Ch7hDMgwlg
感觉你这两个字体也没什么特别的,建议修改设置, ...

1.老哥发的链接已经删除了吗,里面没东西。
2.字体不特别,但它是unicode字体,一体机里面没装着unicode字体。
3.还原功能是系统自带的,没法关也不好破解。
如果能加入复制字体的功能最好,如果不能也没关系,还是要感谢老哥,又给您添麻烦了!
作者: nttwqz    时间: 2022-6-3 19:47
ilywlm 发表于 2022-6-3 19:20
1.老哥发的链接已经删除了吗,里面没东西。
2.字体不特别,但它是unicode字体,一体机里面没装着unicode ...

看了下,链接正常啊

https://wormhole.app/blrNm#c_Kb9xiiclK_Ch7hDMgwlg
作者: ilywlm    时间: 2022-6-3 20:34
nttwqz 发表于 2022-6-3 19:47
看了下,链接正常啊

https://wormhole.app/blrNm#c_Kb9xiiclK_Ch7hDMgwlg

多谢老哥,刚下载试用成功了,美中不足就是编译好的exe文件出现了盾牌,这叫UAC吧,以前是没有的,我对比了一下,去掉了一个分号,盾牌没有了,可是复制字体又失败了,还是请老哥出手吧!
作者: nttwqz    时间: 2022-6-3 21:16
ilywlm 发表于 2022-6-3 20:34
多谢老哥,刚下载试用成功了,美中不足就是编译好的exe文件出现了盾牌,这叫UAC吧,以前是没有的,我对比 ...

释放字体到Fonts文件夹需要管理员权限,否则无法写入。
作者: ilywlm    时间: 2022-6-3 21:37
nttwqz 发表于 2022-6-3 21:16
释放字体到Fonts文件夹需要管理员权限,否则无法写入。

就是说这个盾牌是去不掉的,对吗?那就这样吧,大过节的又打扰老哥了,祝老哥端午节快乐啊!
作者: nttwqz    时间: 2022-6-3 21:39
ilywlm 发表于 2022-6-3 21:37
就是说这个盾牌是去不掉的,对吗?那就这样吧,大过节的又打扰老哥了,祝老哥端午节快乐啊!

去的掉,去掉之后,右键管理员运行即可,双击不行。
作者: ilywlm    时间: 2022-6-3 22:47
sunsea 发表于 2022-2-13 14:48
可能是你的浏览器什么的有些问题,代入非法字符了。
发一个打包的。以及你再仔细看看,只删fpl的。觉得 ...

sunsea老哥,您好:您帮我写过一个先删除fpl文件再运行foobar2000的批处理,我想在删除fpl文件命令之前再加一行命令,把当前目录下的ttf字体文件(BabelStoneHan.ttf和DFPKaiShuW5-UN.TTF)拷贝到C:\Windows\Fonts目录下,请老哥有时间再帮忙写一下,有劳老哥!

作者: sunsea    时间: 2022-6-4 08:46
ilywlm 发表于 2022-6-3 22:47
sunsea老哥,您好:您帮我写过一个先删除fpl文件再运行foobar2000的批处理,我想在删除fpl文件命令之前再 ...

似乎XP以后单独拷贝没有用,安装字体好像有专门接口,我研究一下。
作者: sunsea    时间: 2022-6-4 09:08
本帖最后由 sunsea 于 2022-6-4 09:10 编辑
ilywlm 发表于 2022-6-3 22:47
sunsea老哥,您好:您帮我写过一个先删除fpl文件再运行foobar2000的批处理,我想在删除fpl文件命令之前再 ...

https://www.52pojie.cn/thread-1248764-1-1.html白嫖的vbs脚本,说明在批处理文件里。里面有UAC提权代码,如果觉得不安全或者不方便或者运行错误可以去掉,手动右键管理员运行。


run.7z

4.01 KB, 下载次数: 4, 下载积分: 无忧币 -2


作者: ilywlm    时间: 2022-6-4 19:49
sunsea 发表于 2022-6-4 09:08
从https://www.52pojie.cn/thread-1248764-1-1.html白嫖的vbs脚本,说明在批处理文件里。里面有UAC提权代 ...

sunsea老哥:接到您发的run.7z测试了一下午,双击vbs文件可以安装同目录下的字体文件,双击cmd文件却没有任何反应,在折腾的过程中发现在上一个批处理中加一句start .\@安装字体.vbs就可以运行这个vbs文件,还不出UAC窗口,您刚发的这个cmd文件保存为ANSI编码也可以运行了,但是会出UAC窗口,这两个方法安装效果是否相同,我正在测试,如果老哥知道请告诉我一下。
还有一个问题请教老哥,就是已经安装了字体,再次运行vbs文件的时候会出现是否替换的窗口,能让它自动确认吗?
作者: sunsea    时间: 2022-6-4 20:41
ilywlm 发表于 2022-6-4 19:49
sunsea老哥:接到您发的run.7z测试了一下午,双击vbs文件可以安装同目录下的字体文件,双击cmd文件却没有 ...

自动确认做不到,因为微软装字体的API是未公开API,没法直接调用,只能通过模拟往那个文件夹里手动copy文件来做。
作者: ilywlm    时间: 2022-6-28 18:45
sunsea 发表于 2022-6-4 20:41
自动确认做不到,因为微软装字体的API是未公开API,没法直接调用,只能通过模拟往那个文件夹里手动copy文 ...

sunsea老哥,又来麻烦您了,我在论坛发贴求教字体静默安装的问题,9zhmke老哥可以用批处理实现,不管系统中有没有这个字体直接就安装也不会出现是否替换的弹窗,我试了一下他的批处理却没有成功,老哥说是管理员权限的问题,我找了段提权代码粘贴在批处理最顶部,在最底部写上123.cmd(这是您给我写的先删除列表文件再启动软件的批处理),达到安装完字体立即启动程序的目的,测试了几次应该是成功了,但是弹出的批处理窗口会出现“找不到文件”五个字,不知道什么原因,我把9zhmke老哥发我的压缩包(有测试字体,bat文件,fontinst.exe和fontinst.inf四个文件)和我修改的bat文件传到百度盘,请老哥有时间看一下能否找到出现这五个字的原因,有劳老哥啦!(链接:链接:https://pan.baidu.com/s/1CMaAmbmFrCm8ZgQozMsCSg?pwd=5lir
提取码:5lir)
作者: nowayer    时间: 2023-10-17 11:02
提示: 作者被禁止或删除 内容自动屏蔽
作者: rbwrbw    时间: 2023-10-17 15:05
good




欢迎光临 无忧启动论坛 (http://bbs.wuyou.net/) Powered by Discuz! X3.3