cclgoo 发表于 2022-2-13 08:35:19

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:51

我怎么感觉你像是2010无忧的马甲。。。

sunsea 发表于 2022-2-13 09:34:40

本帖最后由 sunsea 于 2022-2-13 09:36 编辑

@echo off
pushd "%~dp0"
reg query "HKLM\System\CurrentControlSet\Control\Session Manager\Environment" /v PROCESSOR_ARCHITECTURE | findstr AMD64 > nul
if NOT ERRORLEVEL 0 (start .\B1\字幕.exe) ELSE (start .\B2\字幕.exe)
之所以直接查询注册表,是为了排除因为各种原因启动了Syswow64里面那个cmd.exe的情况,此时可能会误判。

nttwqz 发表于 2022-2-13 10:55:18

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

很少见到的超版。。。()

ilywlm 发表于 2022-2-13 10:57:37

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:42

ilywlm 发表于 2022-2-13 10:57
老哥您好,借楼请教您一个问题,我用foobar2000听歌但不想让它保存播放列表,就是重新启动程序后列表里是 ...
vbs不会。建议先备份、小规模测试。
@echo off
pushd "%~dp0"
pushd ".\playlists-v1.4"
for /f "delims=" %%i in ('dir /s /b *.fpl') do del /s /q /f "%%i"
popd
start .\foobar2000.exe

邪恶海盗 发表于 2022-2-13 12:11:05

软件自动安装器SWAI v2测试版,可根据不同系统版本及位宽批量执行程序...
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=423999

ilywlm 发表于 2022-2-13 13:18:51

sunsea 发表于 2022-2-13 11:32
vbs不会。建议先备份、小规模测试。

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

sunsea 发表于 2022-2-13 14:48:41

本帖最后由 sunsea 于 2022-2-13 14:53 编辑

ilywlm 发表于 2022-2-13 13:18
感谢老哥及时回复,我建了一个txt文件,把您发的代码粘贴进去保存然后把文件的后缀名改成bat,双击后出现 ...
可能是你的浏览器什么的有些问题,代入非法字符了。
发一个打包的。以及你再仔细看看,只删fpl的。觉得不放心可以先备份小规模试验,主要是我不用这个播放器……

2010无忧 发表于 2022-2-13 16:12:53

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

这个得澄清一下 ,还真不是我的马甲,好像从新冠疫情就没怎么登过论坛了,前两天回来上班整理文件才回论坛请教了一下批处理。不过 我也算论坛老用户了吧,十几年了,曾经还是元帅,后来级别给降下来了{:1_186:}

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

sunsea 发表于 2022-2-13 14:48
可能是你的浏览器什么的有些问题,代入非法字符了。
发一个打包的。以及你再仔细看看,只删fpl的。觉得 ...

多谢老哥,用您打包的测试成功了,正是我想要的结果,如果老哥有运行cmd不让它闪一下的方法请告诉我一下,没有也没关系,再次感谢老哥帮忙!

nttwqz 发表于 2022-2-13 17:37:55

ilywlm 发表于 2022-2-13 16:13
多谢老哥,用您打包的测试成功了,正是我想要的结果,如果老哥有运行cmd不让它闪一下的方法请告诉我一下 ...

经测试,只要将播放列表所在文件夹设置只读属性就能达到这种效果。也或许播放器本身就有这功能也说不定,奈何爱国人士看不懂非中文语言。

nttwqz 发表于 2022-2-13 17:40:18

2010无忧 发表于 2022-2-13 16:12
这个得澄清一下 ,还真不是我的马甲,好像从新冠疫情就没怎么登过论坛了,前两天回来上班整理文件才回论 ...

你不说我都忘了曾经降级的事儿了。。。

sunsea 发表于 2022-2-13 17:41:33

ilywlm 发表于 2022-2-13 16:13
多谢老哥,用您打包的测试成功了,正是我想要的结果,如果老哥有运行cmd不让它闪一下的方法请告诉我一下 ...

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

ilywlm 发表于 2022-2-13 19:11:10

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

多谢nttwqz兄回复,我也怕自己foobar2000玩的不精,专门向Asion请教过,确实没这个功能。列表文件夹设成只读我试过,关闭程序时界面会闪烁无法关闭,只有sunsea老兄的批处理成功了。

nttwqz 发表于 2022-2-13 19:12:40

本帖最后由 nttwqz 于 2022-2-13 19:18 编辑

ilywlm 发表于 2022-2-13 19:11
多谢nttwqz兄回复,我也怕自己foobar2000玩的不精,专门向Asion请教过,确实没这个功能。列表文件夹设成 ...
可我测试的1.6.9原版正常啊?
我的方法是,将列表文件先删除,然后设置只读属性,含子文件夹及文件,然后就关闭保存列表了。

cclgoo 发表于 2022-2-14 00:45:20

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

谢谢!我之前多用了两个SET,总感觉好怪的样子.感谢教导,新人敬尊

ilywlm 发表于 2022-2-14 09:34:30

sunsea 发表于 2022-2-13 17:41
找到论坛里的PECMD2012,按照相关说明安装(压缩包里应该有个批处理),然后你的快捷方式里写上

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

nttwqz 发表于 2022-2-14 10:48:12

ilywlm 发表于 2022-2-14 09:34
老哥您好,不好意思又来麻烦您,我想把您的批处理也用到potplayer上,但是pot的专辑标签和标签下的播放列 ...

你这是播放什么奢靡之音哪。。。

ilywlm 发表于 2022-2-14 11:31:23

nttwqz 发表于 2022-2-14 10:48
你这是播放什么奢靡之音哪。。。

nttwqz老兄,我是英语老师也是班主任,经常在不同的班用一体机播放听力和视频,不同的班放的东西不一样,听力和视频一节课要用3、4段,要放在不同的标签下,因为要一段一段的听,一体机又是触屏的,每节课都要点好多次屏幕清除再点好多次屏幕添加,批处理可以简化操作啊!

nttwqz 发表于 2022-2-14 13:41:12

本帖最后由 nttwqz 于 2022-2-14 13:49 编辑

ilywlm 发表于 2022-2-14 11:31
nttwqz老兄,我是英语老师也是班主任,经常在不同的班用一体机播放听力和视频,不同的班放的东西不一样, ...

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

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

等晚上回来,我用NSIS给你写一个,就不会有黑框了。

sunsea 发表于 2022-2-14 14:03:25

ilywlm 发表于 2022-2-14 09:34
老哥您好,不好意思又来麻烦您,我想把您的批处理也用到potplayer上,但是pot的专辑标签和标签下的播放列 ...

你可以考虑备份一份【干净】的文件,然后我给你写个批处理。

nttwqz 发表于 2022-2-14 21:12:49

ilywlm 发表于 2022-2-13 16:13
多谢老哥,用您打包的测试成功了,正是我想要的结果,如果老哥有运行cmd不让它闪一下的方法请告诉我一下 ...




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

ilywlm 发表于 2022-2-14 21:41:59

nttwqz 发表于 2022-2-14 21:12
不放心可自己下载NSIS3编译。

感谢nttwqz兄,我绝对放心啊,刚试了一下,双击exe文件没反应,sunsea老兄的批处理可以,请您有时间的话对比一下,我这水平不知道问题出在哪里。

nttwqz 发表于 2022-2-14 21:54:04

ilywlm 发表于 2022-2-14 21:41
感谢nttwqz兄,我绝对放心啊,刚试了一下,双击exe文件没反应,sunsea老兄的批处理可以,请您有时间的话 ...

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

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

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

还有种几乎不会发生的失误,我可能将之前不正常的旧版发出来了,但是可能性很小,毕竟我也测试了好多遍了,尝试重新编译试试。也建议退出各种卫士管家和杀毒试试,看是不是拦截了。毕竟我这水平对于它们来说,已经能用批处理编写木马好多年。。。

ilywlm 发表于 2022-2-15 09:10:30

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:00

sunsea 发表于 2022-2-14 14:03
你可以考虑备份一份【干净】的文件,然后我给你写个批处理。

sunsea老哥,备份一份【干净】的文件是做备份的意思吗?我随时都可以备份啊,就等老哥有时间的时候帮忙写个批处理啦!

nttwqz 发表于 2022-2-15 09:41:21

ilywlm 发表于 2022-2-15 09:10
果然如nttwqz兄说的一样,我用1.6.10英文原版可以正常启动,我上课用的是Asion汉化版,汉化版的playlists ...

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

你检测路径和文件名,估计是这个错了。
实在不行上传汉化版

nttwqz 发表于 2022-2-15 09:54:06

ilywlm 发表于 2022-2-15 09:10
果然如nttwqz兄说的一样,我用1.6.10英文原版可以正常启动,我上课用的是Asion汉化版,汉化版的playlists ...

已找到汉化版下载链接,晚上下班看看吧

ilywlm 发表于 2022-2-15 10:17:35

nttwqz 发表于 2022-2-15 09:41
汉化版是绿色版吧?我这个默认支持,编写时就考虑到了这种情况。如果我没记错的人情况下应该是先检测当前 ...

https://wormhole.app/ZkoEm#nrgUxV77tX0hvCsoz5xClQ
nttwqz兄看一下
页: [1] 2 3
查看完整版本: BAT按位数运行当前文件夹中不同子文件夹的同名不同位文件