2010-07-28 09:47:26 +0000 2010-07-28 09:47:26 +0000
110
110

在Windows命令提示符中有没有像Linux中那样的快捷命令来进入当前用户的主目录?

我习惯用

cd ~

来直接进入我的主目录。在Windows命令提示符下,我必须使用

cd Users\username

才能进入。有没有像Linux那样的快捷方式?如果我可以通过执行

cd username

来到达那里就更好了,在Windows Vista中是否可以这样做?

答案 (11)

167
167
167
2010-07-28 10:12:08 +0000

是的,你可以使用%HOMEPATH%,这是用户主目录的完整路径。

还有不少其他有用的变量,比如%OS%(操作系统),或者%WINDIR%(Windows系统目录)。参见维基百科:环境变量的列表。


Notes:

实际上,事情有点复杂(和往常一样)。%HOMEPATH%只包含路径,而没有驱动器字母,所以对于从不同的驱动器进行的cd是无效的。你也可以使用%USERPROFILE%,它_包含驱动符,通常与%HOMEPATH%是同一个目录。

这些变量的值,以及哪一个适合你,将取决于 Windows 版本和管理员的任何更改,因为它们的值可能不同 (例如,见问题 profile 和 home path 之间的区别 )。

23
23
23
2013-01-18 18:26:42 +0000

另外两个选项都可以添加到脚本中,并以类似BillP3rd的答案的方式自动执行。

多了两个字符,但是……。

SET ~=%HOMEPATH%    
CD %~%

或者……

CD %~%\Desktop

或者…

doskey ~=cd %homepath%
~

当然,你不能在路径中使用~,但是作为一个快速的 “跳转到我的主目录",输入~ Enter是相当快的。

19
19
19
2010-07-28 10:47:03 +0000

你可以在你的%PATH%中的某个地方放一个.bat-File,它可以帮你改变路径。

9
9
9
2013-05-07 18:33:50 +0000

我在路径中的一个目录上建立了一个.cmd文件,并命名为 “cd~.cmd"。它的内容是:"cd~.cmd"。

@cd %HOMEPATH%

所以我可以在任何地方输入 "cd~"来进入我的主目录。和 "cd~"不一样 (注意缺失的空间)但对我来说已经很接近了。

7
7
7
2014-07-31 18:39:22 +0000

sleske 的回答几乎是完全正确的,但并不总是有效。

如果你的主目录在网络共享设置中是一个映射驱动器,那么无论当前目录的驱动器是什么,都要运行以下内容。

cd /D %HOMEDRIVE%%HOMEPATH%

/D开关是允许cd改变驱动器的必要条件。

5
5
5
2016-03-04 12:16:07 +0000

有`C:\Users<current user>###有的快捷方式吗?

没有直接的快捷方式。

有几种不同的解决方法 (见下文).

1.使用环境变量与 cdcd /d

  1. 使用 substnet use 来创建一个映射到另一个驱动器字母。

  2. 安装 cygwin 并使用 bash

  3. 使用 powershell - powershell 支持 ~

如果你准备使用 powershell 而不是 cmd,最后一个解决方案可能是最简单的。


解决方案 1: 使用环境变量和 cdcd /d

如果你想定期更改到这个目录,那么运行以下命令。

setx DOCS %USERPROFILE%

这将永久设置环境变量DOCS,但为了使用它,你需要先启动一个新的cmd shell,然后变量被定义并准备使用。

F:\test>echo %DOCS%
C:\Users\DavidPostill\

要从任何位置更改目录,使用以下命令。

cd /d %DOCS%

如果你已经在c:的驱动器上,你可以直接使用。

cd %DOCS%

创建一个批处理文件(docs.cmd),并把它放在PATH的某个地方。

docs.cmd:

@echo off
cd /d %DOCS%

然后你可以不管当前位置输入docs,它就会带你到C:\Users\<current user>

  • *

解决方案2:使用substnet use创建一个映射到另一个驱动器字母。

你可以使用subst

subst x: %USERPROFILE%

然后

x:

不幸的是,驱动器映射在重启时不会持久。

net use 将会在重启时持久化,例如:

net use x: "\computerName\c$\pathName" /persistent:yes

请参阅 如何使 SUBST 映射在重启时持久化? 中的答案以获得详细说明。


解决方案 3: 安装 cygwin 并使用 bash

你可以考虑安装 cygwin

Cygwin是:

  • 一个GNU和开源工具的大集合,它提供的功能类似于Windows上的Linux发行版。

一旦你安装了cygwin,你就可以在cygwin终端中运行bash,并根据需要设置bash环境变量HOME

cygwin 的替代品包括 msys (MingW)

MSYS是一个GNU实用程序的集合,如bash、make、gawk和grep,允许构建依赖于传统UNIX工具的应用程序和程序。它的目的是为了补充MinGW和cmd shell的不足。

Git for Windows :

Git for Windows提供了一个BASH模拟,用于从命令行运行Git。*NIX用户应该会觉得很舒服,因为BASH模拟就像LINUX和UNIX环境下的 “git "命令一样。


解决方案4:使用powershell

正如 SBI 在另一个问题的评论中指出的那样,powershell支持~,你可以直接输入。

cd ~

更多阅读

  • Windows CMD命令行的A-Z索引 - 所有与Windows cmd行相关的东西都有很好的参考。
  • cd - 更改目录 - 选择一个文件夹(和驱动器)
  • setx - 永久设置环境变量,SETX可以用来设置机器(HKLM)或当前登录用户(HKCU)的环境变量。
  • subst - 替换网络或本地路径的驱动器编号。
3
3
3
2010-07-28 10:01:04 +0000

不知道是我们的工作登录脚本的特性还是windows的默认值,但我可以用cd %HOMEPATH%来实现,其中HOMEPATH是一个环境变量。

1
1
1
2010-08-17 00:42:06 +0000

如果你想让所有用户的命令提示都在他们的 “home "目录下启动,请创建以下注册表键作为一个可扩展字符串值(当然要去掉引号):

HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\AutoRun : "cd /d %USERPROFILE%"

如果你只想让你的命令提示这样做。

HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun : "cd /d %USERPROFILE%"

我的做法是保留一个c:\Scripts文件夹,里面有一个 "自动执行 "类型的批处理文件,我通过这个键来调用。

1
1
1
2015-02-20 14:22:33 +0000

我意识到这是一个早已完成的问题,但只是为了记录。安装clink,这可以在很多方面扩展你的命令提示符。是的,它比上面的解决方案更重,但它使cmd窗口表现得更好。

0
0
0
2018-04-04 20:49:33 +0000

我使用了一个更好的终端cmder)来实现这个目的。它有内置的别名,而且非常容易使用。只要阅读关于别名的文档这里

0
0
0
2012-10-18 08:43:39 +0000

Windows已经真正成为 “所有关于gui "的工具,所以在你的情况下,我只是得到你想要的工具,而不是试图 "弯曲 "系统,以满足你的意愿…… MinGW工具是一个优秀的小集合,它包含了一些最广泛使用的gnu工具。我强烈推荐它,如果你是一个win的nix粉丝…… http://www.mingw.org/wiki/MSYS