执行本地命令时如何在powershell中关闭“。\”?

时间:2011-03-09 12:30:11

标签: powershell

默认情况下,Powershell在任何本地可执行文件之前都需要“。\”。因此,要在Powershell中执行本地命令,您需要键入类似

的内容
.\foo arg1

如何关闭要求输入“。”,所以我可以像

一样运行
foo arg1

“。”的正确名称是什么?

4 个答案:

答案 0 :(得分:7)

.是当前目录,\是路径分隔符。这意味着.\foo是foo程序的相对路径。

如果.环境变量中未包含PATH,则必须按上述方式指定。为避免这种情况,您可以将.添加到PATH变量中。但根据经验,从不这样做,因为它会带来安全风险。更好地使用.\foo甚至更好地提供绝对路径。

答案 1 :(得分:1)

这是一项安全功能,可确保您只在所需位置运行可执行文件。这可以确保您运行正确的可执行文件而不是被劫持的可执行文件。

这是一个语言/ shell实现,你无法将其关闭,IMO。

答案 2 :(得分:0)

你不能把它关闭,但是你可以把你的功能放在一个模块中(甚至是你在其他地方加载的脚本),并加载那么至少调用那些功能看起来更好(没有。) FOO

答案 3 :(得分:0)

也许吧。不在路径中,tabcompletion函数检测到,所以如果你写foo [TAB]然后自动扩展为。\ foo。出于这个原因,如果tabcompletions处理这个问题,我不会看到点和斜线的“额外工作”在哪里。