cmd 等价于 "cd ~" 改为 C:\Users\<current user>\Documents\

Use*_*291 10 windows-7 command-line cmd.exe

我必须在项目期间切换到 Windows。

我才刚刚开始,我已经不喜欢使用cmd.

有捷径C:\Users\<current user>\Documents\吗?

Dav*_*ill 23

有捷径C:\Users\<current user>\Documents\吗?

没有直接的捷径。

有几种不同的解决方案(见下文)。

  1. 将环境变量与cd或一起使用cd /d

  2. 使用substnet use来创建到另一个驱动器号的映射。

  3. 安装cygwin和使用bash

  4. 使用powershell- powershell 支持~

如果您准备使用powershell而不是cmd.


解决方案 1:将环境变量与cd或一起使用cd /d

如果要定期更改到此目录,请运行以下命令:

setx DOCS %USERPROFILE%\Documents
Run Code Online (Sandbox Code Playgroud)

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

F:\test>echo %DOCS%
C:\Users\DavidPostill\Documents
Run Code Online (Sandbox Code Playgroud)

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

cd /d %DOCS%
Run Code Online (Sandbox Code Playgroud)

如果您已经在驱动器上c:,则可以使用:

cd %DOCS%
Run Code Online (Sandbox Code Playgroud)

创建一个批处理文件 ( docs.cmd) 并将其放在PATH.

文档.cmd:

@echo off
cd /d %DOCS%
Run Code Online (Sandbox Code Playgroud)

然后,docs无论您当前的位置如何,您都可以直接输入,它会带您到C:\Users\<current user>\Documents\


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

您可以使用subst

subst x: %USERPROFILE%\Documents
Run Code Online (Sandbox Code Playgroud)

进而

x:
Run Code Online (Sandbox Code Playgroud)

不幸的是,驱动器映射在重新启动后不会持续存在。

net use 将在重新启动后持续存在,例如:

net use x: "\\computerName\c$\pathName" /persistent:yes
Run Code Online (Sandbox Code Playgroud)

请参阅如何使 SUBST 映射在重新启动后持久化?详细说明。


方案三:安装cygwin使用bash

才刚开始,已经很讨厌cmd了

您可以考虑安装cygwin

Cygwin 是:

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

安装 cygwin 后,您可以bash在 cygwin 终端中运行。

cygwin 的替代方案包括msys (MingW)

MSYS 是 GNU 实用程序的集合,例如 bash、make、gawk 和 grep,用于构建依赖于传统 UNIX 工具的应用程序和程序。旨在补充MinGW和cmd shell的不足。

适用于 Windows 的 Git

Windows 版 Git 提供了一个 BASH 模拟,用于从命令行运行 Git。*NIX 用户应该有宾至如归的感觉,因为 BASH 仿真的行为就像 LINUX 和 UNIX 环境中的“git”命令。


解决方案 4:使用 powershell

正如SBI powershell 支持的评论中指出的那样,~您只需键入:

cd ~/documents
Run Code Online (Sandbox Code Playgroud)

如果您的用户名中有奇怪的字符(例如,如果您的用户名是电子邮件地址),则引用如下:

cd "~/documents"
Run Code Online (Sandbox Code Playgroud)

但我还需要能够运行快捷方式!

但是,要运行 Intel 的 icl,我需要一个快捷方式到C:\Windows\SysWOW64\cmd.exe /E:ON /V:ON /K ""C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2016.2.180\windows\bin\ipsxe-comp-vars.bat" ia32 vs2015".

powershell 是否也提供必要的选项?

您可以照常创建快捷方式来运行上述命令。

然后从powershell执行快捷方式,例如:

 Invoke-Item -Path C:\Users\Dex\Desktop\Notepad++.lnk 
Run Code Online (Sandbox Code Playgroud)

和:

 Start-Process -FilePath  C:\Users\DDhami\Desktop\Notepad++.lnk 
Run Code Online (Sandbox Code Playgroud)

PowerShell 技巧:执行 .lnk 文件


进一步阅读

  • Windows CMD 命令行的 AZ 索引- Windows cmd 行相关的所有内容的极好参考。
  • cd - 更改目录 - 选择文件夹(和驱动器)
  • setx - 永久设置环境变量,SETX 可用于为机器 (HKLM) 或当前登录用户 (HKCU) 设置环境变量。
  • subst - 用驱动器号替换网络或本地路径。


Not*_*ave 11

解决方案 5:Doskey

不确定您是否从 dos 时代就开始使用了。但是,可以使用 doskey 宏覆盖命令行为。这实际上很有趣,不需要您安装任何 3rd 方软件。

这是一个很好的例子:

doskey cd=if "$1" equ "~" ( cd /d %userprofile%\Documents ) ELSE ( cd $* )
Run Code Online (Sandbox Code Playgroud)

以及与之配套的获奖截图。

在此处输入图片说明

  • 你可能想在 `cd %userprofile%\Documents` 中添加一个 `/d`,这样它即使在其他驱动器上也能工作。 (2认同)
  • @SuiciDoga 抱歉,这不正确。命令提示符只有*很多*的兼容性功能,使旧的批处理文件仍然运行。`cmd.exe` 是一个 Windows 程序,在 64 位系统上甚至是 64 位。 (2认同)

小智 8

%userprofile% 用于访问用户的配置文件文件夹 - 这样您就不必指定驱动器号。

即而不是使用cd C:\%HOMEPATH%\Documents你可以使用cd %USERPROFILE%\Documents

  • 当然,这可以通过使用 `cd /d "%USERPROFILE%\Documents"` 轻松解决。 (2认同)

归档时间:

查看次数:

52893 次

最近记录:

9 年,11 月 前