chenall / ALMRun

绿色实用,功能强大的快速启动软件,Merry和ALTRun的结合体
http://almrun.chenall.net
Other
270 stars 57 forks source link

bug: 调用的文件名含有空格时报错 #14

Closed patchor closed 9 years ago

patchor commented 9 years ago

调用文件名 SQLite Database Browser 2.0 b1.exe

调用时候报错

chenall commented 9 years ago

有没有更详细的情况,不应该出错的呀..

patchor commented 9 years ago

image

patchor commented 9 years ago

是否是因为文件名当中包含了空格呢?

patchor commented 9 years ago

image

wuqi commented 9 years ago

同样碰到这个问题,win7 64位, v1.2.0.70 版本 百度网盘里的test也不行。路径有空格就不行. start menu目录下所有的ink都无法启动,带空格的文件也无法启动,比如chm或pdf的帮助文档

chenall commented 9 years ago

@patchor 看情况有可能是BUG,我会尽量抽时间检查一下.

@wuqi 有空格是正常的,目前我估计是由于文件名里面有两个".",这个代码可能没有处理好.

wuqi commented 9 years ago

试了下,有空格好像确实正常,好像也不是两个.的问题,我测试了几个: 正常: C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Foxit Reader\Foxit Reader.Ink C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Firefox Developer Edition.Ink C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Microsoft Visual C++ 6.0\Microsoft Visual C++ 6.0.Ink 错误: C:\ProgramData\Microsoft\Windows\Start Menu\Programs\7-Zip\7-Zip Help.Ink C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Java Development Kit\Java Mission Control.Ink C:\ProgramData\Microsoft\Windows\Start Menu\Programs\ENVI 5.1\ENVI.Ink C:\ProgramData\Microsoft\Windows\Start Menu\Programs\TortoiseSVN\TortoiseIDiff.Ink C:\ProgramData\Microsoft\Windows\Start Menu\Programs\HDFView-2.10.1\HDFView.Ink

chenall commented 9 years ago

@wuqi 64位的系统需要注意以下选项参数

image

patchor commented 9 years ago

@chenall

已经禁用WOW64位文件重定向选项问题,但是运行还是不成功。

OS: windows server 2008R2 X64

patchor commented 9 years ago

@chenall

这个版本中,能否帮忙看看唯一进程问题? 唯一进程还是可以带来很多便利的

chenall commented 9 years ago

@patchor 唯一进程我自己测试了没有发现问题,看了代码也没有发现什么问题,比较奇怪.

patchor commented 9 years ago

@chenall 我用 chrome 测试了一下没有问题,但是远程桌面还是会出来那个大白框。是否跟检查进程是否启动的方法有关呢?

另: 能够在命令管理窗口,筛选时候也判断调用命令,而非只判断命令名称呢? 那样空白命令描述的也可以被筛选出来了

wuqi commented 9 years ago

昨天试了 禁用WOW64位文件重定向选项 还是不行。 今天换了台机子试了就是好的...一切正常,怀疑是不是啥软件冲突的问题

wuqi commented 9 years ago

好像找到问题了,本来是64位的程序,lnk文件指向也没错,但是打开的时候找的是C:\Program Files (x86)下面的程序

patchor commented 9 years ago

link 应该是一个软链接,如果指向没错。打开的应该也没有错呀

我调用时候不是链接,今天把程序里头的空格去掉。就可以调用成功了。我看看一下,是否跟空格数量有关

patchor commented 9 years ago

我下午尝试了一下,和空格数量无关!

但是那个程序,如果空格在倒数第一、第二个位置的时候就会调用失败。将这个规则,应用到其他文件名则不成立。

奇怪了

chenall commented 9 years ago

@patchor 会不会是这个程序空格之前的文件名刚好有一个同样的文件名存在?

patchor commented 9 years ago

image

patchor commented 9 years ago

image

patchor commented 9 years ago

image

patchor commented 9 years ago

嗯,调用路径是正确的。只是在调用的时候把文件名后面的“ b1.exe” 截取掉了

chenall commented 9 years ago

我看找找原因,,谢谢以上详细报告, 看了一下,应该是我的疏忽,可以自己修改了下 LUAEx目录下的base.lua查找以下代码

-- 默认的命令调用函数
CmdCallFunc = function(cmdLine,cmdArg,workDir)

在CmdCallFunc前面加上"__"或者直接删除这个函数,应该就正常了.这个是老的记得前升级有改了,现在看了一下好像没有改过来.

patchor commented 9 years ago

!-) 去掉 CmdCallFunc 函数之后调用成功!

;-) 谢谢 almrun 越来越好用了

下个版本中,如果可以,能否帮忙在命令管理窗口让筛选时候也判断调用命令而非只判断命令名称呢? 那样空白命令描述的也可以被筛选出来了

patchor commented 9 years ago

好像有问题,注释掉 CmdCallFunc 那个程序调用成功

但是带有参数的chrome 却调用失败了

chenall commented 9 years ago

麻烦再测试一下这个 http://pan.baidu.com/s/1c0Ci1MS

patchor commented 9 years ago

新的版本,注释掉 _CmdCallFunc 之后,可以调用 sqlite browse 。但是还会导致带有参数的Chrome 调用出错

patchor@163.com

发件人: chenall 发送时间: 2014-12-21 09:34 收件人: chenall/ALMRun 抄送: patchor 主题: Re: [ALMRun] bug: 调用的文件名含有空格时报错 (#14) 麻烦再测试一下这个 http://pan.baidu.com/s/1c0Ci1MS — Reply to this email directly or view it on GitHub.

chenall commented 9 years ago

新的版本,注释掉 _CmdCallFunc 之后,可以调用 sqlite browse 。但是还会导致带有参数的Chrome 调用出错??

具体的出错提示是什么,还有你的参数是怎么样的?

patchor commented 9 years ago

调用命令行是: C:\Users\Administrator\AppData\Local\Google\Chrome\Application\chrome.exe http://www.hs633.com/forum.php?mod=forumdisplay&fid=62

调用出错提示如下:

所以还是要保留CmdCallFunc 函数。这样大多数使用场景都是正常调用的

patchor@163.com

发件人: chenall 发送时间: 2014-12-21 15:48 收件人: chenall/ALMRun 抄送: patchor 主题: Re: [ALMRun] bug: 调用的文件名含有空格时报错 (#14) 新的版本,注释掉 _CmdCallFunc 之后,可以调用 sqlite browse 。但是还会导致带有参数的Chrome 调用出错?? 具体的出错提示是什么,还有你的参数是怎么样的? — Reply to this email directly or view it on GitHub.

patchor commented 9 years ago

image

chenall commented 9 years ago

代码里面再找到一个BUG.. 再试试这个(另外这个版本已经支持命令管理器筛选命令行,也可以一起测试下) http://pan.baidu.com/s/1eQ9w4Fo

patchor commented 9 years ago

这个版本,目前看带参数的chrome 调用和原有带空格的sqlite 的browser 都正常

我继续使用确认一下其他的调用情况

patchor@163.com

发件人: chenall 发送时间: 2014-12-22 11:13 收件人: chenall/ALMRun 抄送: patchor 主题: Re: [ALMRun] bug: 调用的文件名含有空格时报错 (#14) 代码里面再找到一个BUG.. 再试试这个 http://pan.baidu.com/s/1eQ9w4Fo — Reply to this email directly or view it on GitHub.

patchor commented 9 years ago

image

patchor commented 9 years ago

image

patchor commented 9 years ago

最新版本,注释 CmdCallFunc 好像不是太稳定

在直接输入 g: 进入G盘的时候,出现上述提示。暂时倒回 V70 版本

chenall commented 9 years ago

谢谢,来看还有其它问题,我再找找看.

patchor commented 9 years ago

不客气,almrun 是个非常好用的软件,希望能够对它有所帮助

patchor@163.com

发件人: chenall 发送时间: 2014-12-23 16:19 收件人: chenall/ALMRun 抄送: patchor 主题: Re: [ALMRun] bug: 调用的文件名含有空格时报错 (#14) 谢谢,来看还有其它问题,我再找找看. — Reply to this email directly or view it on GitHub.

chenall commented 9 years ago

找到了个BUG,上面的问题应该解决了,麻烦再试试这个,

http://pan.baidu.com/s/1kToTG4v

patchor commented 9 years ago

;-)

已经下载。 sqlite 空格已经修复, 直接 d: 进入D盘正常运行 yeah!

我再继续跟踪一下看看其他运行结果如何! 谢谢chenall

patchor commented 9 years ago

今天看了一下,筛选也已经支持目录了

;-) yeah

patchor commented 9 years ago

image

patchor commented 9 years ago

在命令管理器筛选命令好像还不是很有效

是否调整规则为: 1、如果是中文,则搜索所有包含该声母组合的快捷命令、命令行(命令行不应局限于根目录) 2、如果是英文,则忽略大小写查找所有包含该字符串的快捷命令、命令行(因为windows 本身就忽略大小写)