如何在 Windows XP 中将 CMD 的标题设置为当前工作目录

Sto*_*dow 19 windows command-line windows-xp

如何将 Windows XP 中的命令提示符 (CMD) 的标题动态设置为当前工作目录?我可以用

title %CD%
Run Code Online (Sandbox Code Playgroud)

然而,这是一个临时修复,当我使用 CD 命令更改目录时,标题保持固定。

Sto*_*dow 22

由于gravvity 的doskey 宏,它可以正常工作。他使用 && 结合了完美运行的 cd 和 title 命令。我什至在每次使用 cmd 时通过调整注册表来加载这个宏。

1)我创建了一个名为cmd_title.bat的 bat 文件,它的内容是

@echo off
title %cd%
Run Code Online (Sandbox Code Playgroud)

2) 我把这个文件放在 C: 盘 (C:\cmd_title.bat)

3)在 C: 盘中创建另一个名为cmd.bat 的批处理文件,内容如下

doskey cd = cd /d $* ^&^& "C:\cmd_title.bat"
title %cd%
Run Code Online (Sandbox Code Playgroud)

(/d 标志用于使用 cd 切换到另一个驱动器)。

4) 然后我们打开 regedit 并转到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor。这里有一个名为AutoRun的键。我们修改这个键的值,并将它设置为cmd.bat文件所在的位置(例如:“C:\cmd.bat”)。

现在 cd 每次打开 cmd 时都可以正常工作。

基本上 && 用于 Windows 中的命令链接

  • 不错的解决方案!如果您键入这样的宏,您也可以在没有 cmd_title.bat 的情况下执行此操作:`doskey cd=@echo off$Tcd /d $*$T@title ^%cd^%$Techo on` (2认同)
  • 如果您只是在不想回显的命令前添加 `@`,我发现不需要 `@echo off`。我还发现这个命令对于将标题设置为当前目录名而不是完整路径`@for %%* in (.) do @title %%~nx*` 更有用 (2认同)

Dav*_*ken 6

我认为 pushd 和 popd 比 cd 有用得多,如果它们能更快地输入,它们的用处会更大。我已经使用以下脚本解决了 cd 与 pushd/popd 和控制台窗口目录标题的问题,我称之为 d.bat,它在我的路径中。

@ echo off
rem d.bat replaces CD, PUSHD, and POPD with one command that also changes the title
rem of the console window to tell the current directory. Invoked with no arg, the
rem title is updated. Use this after changing the directory by some other means.
rem The argument / invokes popd. Any other argument invokes pushd with that arg.

if not _%1 == _ ( 
    if _%1 == _/ (
        popd
    ) else (
        pushd %*
    )
)
title %CD%
Run Code Online (Sandbox Code Playgroud)