什么是shell / open /命令正确的语法?

时间:2012-06-09 03:28:48

标签: shell syntax batch-file file-association

我想调整我的Windows 7旗舰版操作系统,以便更轻松地在我的服务器上打开.php文件。如果我只是通过打开菜单使用iexplore.exe打开文件,它将尝试下载.php文件而不是打开它。 (我使用XAMPP)。

我已经为XAMPP正确配置了目录。

在我创建的Reg中

HKEY_CLASSES_ROOT\.php
@tweak.php.open

&安培;

HKEY_CLASSES_ROOT\teak.php.open\shell\open\command
@"C:\Program Files (x86)\Internet Explorer\iexplore.exe" localhost/%1

然而,这不会产生预期的结果。它不会像这样工作。

经过一些调试后,我发现其背后的原因是因为使用变量%1发送了文件的完整地址。

“C:\ Program Files(x86)\ Internet Explorer \ iexplore.exe”localhost / D:\ Web Development \ xampp \ htdocs \ form.php

我认为语法和Batch一样?在批处理中如果使用%1,则它将是文件的名称。这是我想要的,而不是整条路径。

我用一个相当不稳定的解决方案解决了这个问题,通过将输出重定向到我创建的用于解析字符串并将其发送到iexplore.exe的批处理文件...请有人帮我解释语法或告诉我我可以在哪里学习正确的语法。 (我不确定这种语言的名称叫什么......批处理或shell或什么。:S)

1 个答案:

答案 0 :(得分:2)

尝试

@"C:\Program Files (x86)\Internet Explorer\iexplore.exe" "localhost/%~nx1"

P.S。不,我似乎没有直接工作,你必须将这一行放入批处理文件。

这是解决方法,将此行放入注册表中:

cmd /c "for %%a in ("%1") do "C:\Program Files (x86)\Internet Explorer\iexplore.exe" "localhost/%%~nxa""