PROMPT 的环境变量?

Environmental Variable for PROMPT?

我想让我的命令提示符更像 Unix。我创建了一个 PROMPT 系统变量,设置为 PC-name > 但我希望它包括我所在的当前文件夹,而不是整个路径。就像我将 PROMPT 设置为 pwd 一样,它会给出整个路径,但我只想在提示符下显示我当前所在的目录,这样我就知道我在哪个文件夹中。有什么实现方法吗?

例如提示将是 PC-name stuff > 如果我在 stuff 文件夹中 C:\Users\Name\folder\stuff

为此设置一个变量?并以某种方式更新环境变量?:

for %%* in (.) do @echo %%~n*

不幸的是,默认的 windows cmd 命令 shell 这是不可能的(这个问题可能属于 Super User ).

您可以键入 'prompt /?' 来查看您的选项,并且您可以通过 %envvar% 在提示中放置环境变量,但是没有为您设置的 "leaf" 环境变量。我不知道有什么方法可以通过标准 'cd' 命令设置一个(尽管如果你愿意使用非标准的更改目录命令,你可能会连接一些东西。)

您可以使用替代方法 shell:

  • Cygwin shell 在使用 Windows 的 *nix 用户中很受欢迎,因为它提供了传统的 bash(或备用)shell 支持和命令.
  • 内置的 Powershell,它具有更可编程的提示(但不是很 *nix-ish)

例如

function prompt { 
    $p = Split-Path -leaf -path (Get-Location);
    $c = $env:computername;
    "$c $p> " 
}

可以在你的power里面设置shell profile:

%userprofile%\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1