标题: [其他] [文件關聯]在不改副檔名前題下 , 如何以CMD.exe運行"b.test"? [打印本页]
作者: Taurus 时间: 2019-6-27 05:22 标题: [文件關聯]在不改副檔名前題下 , 如何以CMD.exe運行"b.test"?
情況是 , 現有2個批處理文件 , 分別是a.bat , b.test
A.bat复制代码
B.test- echo HI , I am Mr.BATCH
- pause
复制代码
如何在不修改Test.test副案名的情况下 , 也不修改reg 、 assoc , 直接以a.bat把B.test当成.bat运行呢?
附带 : 这情况我记得自己十多年前是在win xp成功运行过的 , 当时研究这个是为了把一堆*.test当成函数库调用 , 依稀记得是和"start"、"cmd.exe"、"%1%*"或"%0........等等指令有关 ;
大约只依稀记得当时是A.bat以 [start "%????" B.test]、或["%????" B.test ]、或[cmd"%????" B.test]....等等形式是可以成功操作, 当中调用包括含有batch command的.js、.vbs , 也以Cscript run .bat、也有cmd run .js、 更有cmd run .test。
但时隔己久 , 十年前是用XP , 但现在是用win7、win8、win10 , 新系统加强了安全性 , 是可能促使的文件关联方式修改的 (例如把html当成bat运行是可能因">"而错误复写了其他档案)
所以我也不知该不该再在故有思路再试下去了:
时间过得太久 , 也太久没有写bat了 , 结果全都忘了 、也脫節了 ; 有人可以帮帮忙、或提供思路吗? 拍谢~
作者: Taurus 时间: 2019-6-27 05:31
PS:
如果可以 , 甚至以.js 或.vbs 用ShellExecute 以cmd/c方式運行到它亦可 , 只要是不需調用MSHTA就可以了 , 拍謝
作者: Batcher 时间: 2019-6-27 08:33
复制代码
作者: Taurus 时间: 2019-6-27 20:18
回复 3# Batcher
我想要直接把.test副档关联至cmd运行 , 如同(start Wscript -e:jscript "B.test") 形式忽略副档名、直接选择以该引擎运行该档案,
因"文件B"的结构复杂 , 有大量跳转、管道、转义符 , 以及需互相传递变量 , 用type会运行不起来的
先拍谢
作者: 老刘1号 时间: 2019-6-28 11:12
不能理解……改个拓展名不就都解决了嘛……何苦呢
作者: Taurus 时间: 2019-6-30 23:27
本帖最后由 Taurus 于 2019-6-30 23:40 编辑
不能理解……改个拓展名不就都解决了嘛……何苦呢
老刘1号 发表于 2019-6-28 11:12
需要选择引擎运行 , 意味脚本不只一个引擎能运行 ;
需要拓展名非.bat , 意味脚本启动模式的[优先次序]根本不是以batch运行为优先
B.test的操作结构涉及需要考虑 脚本引擎 和 运行引擎优先次序 , B.test脚本结构的实制情况比上面举例的要复杂许多 , 内容也不是一句简单的hello world , 那就是不能单靠改个拓展名了事的原因
作者: 老刘1号 时间: 2019-7-1 17:12
回复 6# Taurus
混编就不能多写几个脚本么……
作者: Taurus 时间: 2019-9-11 01:15
本帖最后由 Taurus 于 2019-9-11 01:34 编辑
回复 Taurus
混编就不能多写几个脚本么……
老刘1号 发表于 2019-7-1 17:12
在組建的不是"一個"脚本 , 而是一個混編架構
前者 , 是"對單一任務"有指向性 ; 後者 , "架構"是談通用性
一邊是微觀角度 , 一邊是宏觀角度
[混編就不能多寫幾個腳本] , 回答你 , [多寫幾個腳本就不用混編了] ; 不覺這種質問自相矛盾嗎?
考慮的問題 , 固然有原因 ; 而題目是[在不改副檔名前題下 , 如何以CMD.exe運行"b.test"] , 客案該是[行]或[不行] , 而非這種完全脫離問題本質/中心的不斷反問
所以 , 請回到正題去討論
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |