【问题标题】:Environmental Variable for PROMPT?提示的环境变量?
【发布时间】:2016-02-04 01:14:40
【问题描述】:

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

例如提示将是 PC-name stuff > 如果我在东西文件夹中 C:\用户\名称\文件夹\东西

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

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

【问题讨论】:

  • 我没有办法只获取路径中的最后一个目录名称以显示为提示符..
  • 没有办法改吗?

标签: windows unix system environment


【解决方案1】:

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

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

您可以使用备用外壳:

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

例如

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

可以在你的 powershell 配置文件中设置:

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

【讨论】:

  • 这很接近,但它给出了整个路径。
  • 可以将变量设置为批处理文件的结果吗?
猜你喜欢
  • 1970-01-01
  • 2012-04-08
  • 2014-09-30
  • 2018-06-08
  • 1970-01-01
  • 2016-02-23
  • 2021-10-15
  • 2011-11-13
  • 2020-12-07
相关资源
最近更新 更多