在Windows命令提示符中有没有像Linux中那样的快捷命令来进入当前用户的主目录?
我习惯用
cd ~
来直接进入我的主目录。在Windows命令提示符下,我必须使用
cd Users\username
才能进入。有没有像Linux那样的快捷方式?如果我可以通过执行
cd username
来到达那里就更好了,在Windows Vista中是否可以这样做?
我习惯用
cd ~
来直接进入我的主目录。在Windows命令提示符下,我必须使用
cd Users\username
才能进入。有没有像Linux那样的快捷方式?如果我可以通过执行
cd username
来到达那里就更好了,在Windows Vista中是否可以这样做?
是的,你可以使用%HOMEPATH%
,这是用户主目录的完整路径。
还有不少其他有用的变量,比如%OS%
(操作系统),或者%WINDIR%
(Windows系统目录)。参见维基百科:环境变量的列表。
Notes:
实际上,事情有点复杂(和往常一样)。%HOMEPATH%
只包含路径,而没有驱动器字母,所以对于从不同的驱动器进行的cd
是无效的。你也可以使用%USERPROFILE%
,它_包含驱动符,通常与%HOMEPATH%
是同一个目录。
这些变量的值,以及哪一个适合你,将取决于 Windows 版本和管理员的任何更改,因为它们的值可能不同 (例如,见问题 profile 和 home path 之间的区别 )。
我在路径中的一个目录上建立了一个.cmd文件,并命名为 “cd~.cmd"。它的内容是:"cd~.cmd"。
@cd %HOMEPATH%
所以我可以在任何地方输入 "cd~"来进入我的主目录。和 "cd~"不一样 (注意缺失的空间)但对我来说已经很接近了。
sleske 的回答几乎是完全正确的,但并不总是有效。
如果你的主目录在网络共享设置中是一个映射驱动器,那么无论当前目录的驱动器是什么,都要运行以下内容。
cd /D %HOMEDRIVE%%HOMEPATH%
/D
开关是允许cd
改变驱动器的必要条件。
没有直接的快捷方式。
有几种不同的解决方法 (见下文).
1.使用环境变量与 cd
或 cd /d
使用 subst
或 net use
来创建一个映射到另一个驱动器字母。
安装 cygwin
并使用 bash
使用 powershell
- powershell 支持 ~
如果你准备使用 powershell
而不是 cmd
,最后一个解决方案可能是最简单的。
cd
或 cd /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>
subst
或net use
创建一个映射到另一个驱动器字母。你可以使用subst
。
subst x: %USERPROFILE%
然后
x:
不幸的是,驱动器映射在重启时不会持久。
net use
将会在重启时持久化,例如:
net use x: "\computerName\c$\pathName" /persistent:yes
请参阅 如何使 SUBST 映射在重启时持久化? 中的答案以获得详细说明。
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 "命令一样。
powershell
正如 SBI 在另一个问题的评论中指出的那样,powershell支持~
,你可以直接输入。
cd ~
不知道是我们的工作登录脚本的特性还是windows的默认值,但我可以用cd %HOMEPATH%来实现,其中HOMEPATH是一个环境变量。
如果你想让所有用户的命令提示都在他们的 “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文件夹,里面有一个 "自动执行 "类型的批处理文件,我通过这个键来调用。
Windows已经真正成为 “所有关于gui "的工具,所以在你的情况下,我只是得到你想要的工具,而不是试图 "弯曲 "系统,以满足你的意愿…… MinGW工具是一个优秀的小集合,它包含了一些最广泛使用的gnu工具。我强烈推荐它,如果你是一个win的nix粉丝…… http://www.mingw.org/wiki/MSYS