避免使用点反斜杠 Windows 10 Powershell

避免使用点反斜杠 Windows 10 Powershell

这是一件非常烦人的事情,为了在 Powershell 中运行.exe当前目录内的任何内容,我都需要使用.\ahead。

例如,如果我将程序fastboot.exe放在当前文件夹中,则不能fastboot像在里面那样简单地键入cmd。我被迫输入:

.\fastboot

如果我只是输入fastboot(没有.\我得到一些错误,如:

术语“fastboot”未被识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,或者如果包含路径,请验证路径是否正确,然后重试。

+ fastboot + ~~~~~~~~ + CategoryInfo:ObjectNotFound:(fastboot:String)[],CommandNotFoundException + FullyQualifiedErrorId:CommandNotFoundException

如何避免这种情况?

答案1

如果你不喜欢打字.\command.ps1,你可以直接输入command 并点击 Tab。如果当前目录中有一个 command.ps1 文件,它将自动完成。

我认为这足够符合人体工程学,可以保持默认行为的安全优势。

答案2

Powershell 默认不会从当前位置加载命令。

建议 [3,General]:未找到命令 xxx.exe,但该命令确实存在于当前位置。默认情况下,Windows PowerShell 不会从当前位置加载命令。如果您信任此命令,请改为键入“.\xxx.exe”。有关更多详细信息,请参阅“get-help about_Command_Precedence”。

所以你剩下两个选择

  • 通过将当前目录添加到路径来降低安全屏障

     $env:path ="$($env:path);."
    
  • 养成在命令前加上前缀的习惯.\

相关内容