在 Windows 7 中更改命令提示符的默认启动目录

Posted

技术标签:

【中文标题】在 Windows 7 中更改命令提示符的默认启动目录【英文标题】:Changing default startup directory for command prompt in Windows 7 【发布时间】:2011-06-21 05:23:54 【问题描述】:

如何更改 Windows 7 中命令提示符的默认启动目录?

我通常执行以下操作以从 C:\ 启动命令提示符

WIN-R(运行提示) cmd /K cd C:\

我想执行以下操作以从 C:\ 启动命令提示符

WIN-R(运行提示) 命令

【问题讨论】:

Superuser.com 可能更适合这个问题。 我在这里找到了系统侵入性最小的解决方案superuser.com/a/155863/12735 ***.com/a/21485003/5016547 有另一个很好的答案 您是否尝试过在 CMD 中使用set 命令查看可用的变量?或者考虑使用%windir%\system32\cmd.exe /K "cd targetdirectory" 之类的快捷方式? 【参考方案1】:

创建一个指向 cmd.exe somwhere(例如桌面)的快捷方式,然后右键单击副本并选择“属性”。导航到“快捷方式”菜单并更改“开始于:”目录。

【讨论】:

这对我有用,如果你想从 C:\ 开始,只需添加“\”而不是“c:\”,否则它不起作用。 这就是我所做的。更安全、更清洁。但是,如果您以管理员身份运行,则像 @Cerveser 一样似乎不起作用。 只是补充一下,这样你就可以有多个cmd快捷方式,每个快捷方式指向不同的启动目录。 以管理员身份运行进入系统 32 =( 您不需要创建快捷方式 - 已经有一个您可以编辑。请参阅@BenOcc 的回答 - 尽管 win10 上的路径略有不同【参考方案2】:

以下解决方案对我来说效果很好。导航到开始菜单中的命令提示符快捷方式:

C:\Users\ 你的用户名 \AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Accessories\Command Prompt

右键单击快捷方式文件以打开属性对话框。在“开始于:”文本框中,您应该会看到 %HOMEDRIVE%%HOMEPATH%。如果您希望提示以 C:\ 开头,只需将变量替换为“C:\”(不带引号)。

更新

微软最近似乎改变了这种行为,所以现在需要一个额外的步骤。执行上述步骤后,复制修改后的快捷方式“命令提示符”并将其重命名为“cmd”。然后在开始菜单中输入“cmd”时,它应该会再次起作用。

【讨论】:

在我的 Win 8.1 上,我在Windows System 下找到了快捷方式,而不是附件。 很好的答案——有效,无需破解,不会破坏其他工具。 对于使用多个命令行界面的用户,(GIT BASH、CYGWIN、Language Shells)这是最安全的答案。您甚至可以将快捷键分配给键盘快捷键。 简单有效,可惜直接运行cmd.exe就不行了。 在我的 Windows 10 上,cmd 快捷方式位于“C:\Users\myusername\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Windows System”中【参考方案3】:

打开 regedit 并浏览到该路径

HKEY_CURRENT_USER\Software\Microsoft\Command Processor

创建名为Autorun 的新字符串值。将其值设置为cd /d C:\

再次运行 cmd。瞧!

【讨论】:

我很确定这会导致问题,因为脚本和其他程序可能会启动 cmd.exe/%comspec% 并最终进入错误的目录! @Anders,是的,你是对的,从那里开始几乎每次调用 cmd 都将从 C: 开始,这可能会破坏使用 cmd 的脚本和其他工具的某些功能。跨度> 可能会破坏某些功能 肯定会破坏大量脚本 这样做最终会导致痛苦。 完全忘记了我遵循了这个建议,并且花了无数个小时试图调试 npm 和 nodemon 失败的原因。请不要这样做。【参考方案4】:

虽然向HKEY_CURRENT_USER\Software\Microsoft\Command Processor 添加一个AutoRun 条目,就像Shinnok 的答案是it can also really mess things up 的方法,但您确实应该尝试检测一个简单的cmd.exe 启动与一个使用cmd.exe 作为孩子的脚本/程序进程:

IF /I x"%COMSPEC%"==x%CMDCMDLINE% (cd /D c:\)

【讨论】:

你可以在命令行reg add "HKEY_CURRENT_USER\Software\Microsoft\Command Processor" /v AutoRun /t REG_SZ /d "IF x"%COMSPEC%"==x%CMDCMDLINE% (cd /D c:\)"使用这个命令 请注意...我这样做了,并且在运行任何命令行功能(例如 gruntbower)时,它将尝试使用 THIS 目录而不是您当前所在的目录。 .. 仅供参考 我在 Heroku 的命令行工具中遇到了类似的问题,导致它与 git 的交互静默失败。根据您使用的工具,此解决方案可能不值得头疼。 我遇到了一个大小写不匹配的问题。必须稍微修改该行以使其正常工作。 /I 添加不区分大小写。问题出在 c:\Windows\System32\cmd.exe 和 c:\Windows\system32\cmd.exe IF /I x"%COMSPEC%"==x%CMDCMDLINE% (cd /D c:\) 如何制作它,以便在您以管理员身份运行 cmd 时也能正常工作.. 使用“运行身份”选项【参考方案5】:

最简单的方法

    点击“开始”并输入“cmd”或“命令提示符”。 选择名称完全相同的“cmd”或“命令提示符”的最热门搜索应用程序。 右键单击它并选择“发送到”=>“桌面”。 在您的桌面上将出现新的“cmd”快捷方式 右键单击该图标并选择“属性” 将出现弹出窗口,在“快捷方式”选项卡中在“开始”选项中键入新位置(例如 D:\xyz) 拖动该图标并将其添加/固定在“任务栏”中

【讨论】:

正在运行的广告管理员总是转到系统 32 =( 即使在 6 年后复制答案也不应该被投票! @Andrew 您可以通过转到 HKEY_CLASSES_ROOT\cmdfile\shell\runas\command 来更改它,然后在 cmd.exe \C exe 路径之后更改默认目录参数【参考方案6】:

在 Windows 开始菜单上,右键单击命令提示符。

点击“属性”。

“命令提示符属性”对话框打开。

将“开始于”字段编辑到您要启动命令提示符的位置。

示例:将 %HOMEDRIVE%%HOMEPATH% 更改为 D:\PersonalPrograms。

下次启动命令提示符时,启动目录将是 D:\PersonalPrograms

【讨论】:

【参考方案7】:

这对我不起作用。我在 Win7 64bit 和 Vista 32 下都试过了。

我正在使用以下命令行来添加此功能。

reg add "HKEY_CURRENT_USER\Software\Microsoft\Command Processor" /v AutoRun /t REG_SZ /d "IF x"%COMSPEC%"==x%CMDCMDLINE% (cd /D c:)"

【讨论】:

这不是答案。如果您需要向作者提问,请发表评论。如果您有任何问题,请发布您自己的问题。 现在这已被编辑,这是一个很好的答案。但我更喜欢少引用:reg add "HKEY_CURRENT_USER\Software\Microsoft\Command Processor" /v AutoRun /t REG_SZ /d "if x%COMSPEC%==x%CMDCMDLINE% (cd /d d:\)"。命令行解决方案 FTW! 要转到您计算机上的个人资料主文件夹,请使用reg add "HKEY_CURRENT_USER\Software\Microsoft\Command Processor" /v AutoRun /t REG_SZ /d "if x%COMSPEC%==x%CMDCMDLINE% (cd /d %USERPROFILE%)" 要使用本地主文件夹更新 HOMEDRIVE 和 HOMEPATH 变量,然后转到该文件夹​​,请使用 reg add "HKEY_CURRENT_USER\Software\Microsoft\Command Processor" /v AutoRun /t REG_SZ /d "if x%COMSPEC%==x%CMDCMDLINE% (set "HOMEDRIVE=%USERPROFILE:~,2%" & set "HOMEPATH=%USERPROFILE:~2%" & cd /d %USERPROFILE%)"【参考方案8】:

有点晚,但忽略注册表模块。 只需将快捷方式目标更改为:

cmd /k "command"

cmd /k "cd\myStartUpFolder"

瞧!

【讨论】:

【参考方案9】:

在 Windows 7 上:

    在您的 Windows 计算机上搜索“cmd”
      右键单击 cmd 并左键单击“固定到开始菜单”(或者,右键单击 cmd - 单击复制然后粘贴到您的桌面) 右键单击开始菜单或桌面上的 cmd(取决于上面的选择 2)- 左键单击属性 在“start in”文本框中粘贴您的默认起始目录的位置 按应用并确定

每次单击开始菜单或桌面快捷方式中的 cmd 时,CMD 都会在您的默认位置打开

【讨论】:

从可用性的角度来看,这是最好的选择。它也不会破坏您环境的其余部分或需要知道一些特殊的密钥!【参考方案10】:

我认为最简单的方法是创建一个cmd 快捷方式,然后将快捷方式的“开始于” 目录更改为您想要开始的目录。

【讨论】:

【参考方案11】:

在 8.1 上的 Windows 系统下更改快捷方式对我有用 - 我发现的另一件事是“开始于:”在高级时有效 -> 以管理员身份运行未选中,但是,如果选中,它不起作用

【讨论】:

【参考方案12】:

HKEY_CURRENT_USER\Software\Microsoft\命令处理器

字符串:自动运行 值:cd /d %~dp0

所有 bat 文件都将从 bat 文件位置运行

【讨论】:

欢迎来到 Stack Overflow!请不要在明显偏离主题/不好的问题上发布答案! See: Should one advise on off topic questions?【参考方案13】:
    进入 regedit(进入搜索并输入 regedit) 展开“HKEY_CURRENT_USER”节点 在 HKEY_CURRENT_USER 节点下展开“软件”节点 在软件节点下展开“microsoft”节点 在微软节点下点击“命令处理器” 路径如下所示:“HKEY_CURRENT_USER\Software\Microsoft\Command Processor”

it looks something like this :

    如果您没有看到“自动运行”字符串值 右键-新建-可扩展字符串值,重命名为自动运行 双击“自动运行” 10.输入这个值路径格式: "CD/d C:\yourfoldername\yoursubfoldername"

【讨论】:

【参考方案14】:

编辑:实际上编辑文件快捷方式似乎破坏了 Win+x, c 快捷键。 (故事的寓意:只更改您知道如何修复的系统文件!最终在 Windows 更新后它会自行修复。)

我最终做的是在开始文件夹中创建一个新的自定义命令提示符快捷方式,并固定到我启动的任务栏而不是 cmd.exe


正如其他答案所指出的那样,更改注册表 Autorun cmd 启动位置是一个坏主意,因为它会默默地破坏其他执行任务的程序,例如 Visual Studio Code。

您应该只更改用于打开 cmd 的任何快捷方式以具有 Start In 条目。

如果使用Win+x,c启动cmd,可以编辑Start In for

"%LOCALAPPDATA%\Microsoft\Windows\WinX\Group3\02 - Command Prompt.lnk"

【讨论】:

【参考方案15】:

输入

cmd.exe /k cd c:/

在文本文件中并另存为 cmd.bat 单击此文件可以解决问题。您也可以将其固定到开始菜单。

要在分区驱动器(例如 D)中启动,请使用

cmd.exe /k d:

【讨论】:

【参考方案16】:

一个简单的方法+奖金。

以管理员权限启动cmd,提示的默认目录为C:\WINDOWS\system32

我在该目录中创建了一个 bat 文件 (notes.bat) 用记事本打开它并写下以下几行。每行后面都有一个不应添加到 bat 文件中的注释。

@echo off

prompt $S$CYourNamel$F$S$G$S 
/* This is a comment, do not include it in the bat file - above line will make the prompt look like  (YourName) > */

cd C:\Your_favorite_directory
/* This is a comment, do not include it in the bat file - above line will navigate you to your desired directory */

保存了文件,就是这样。 现在,当您以管理员权限打开 cmd 时,只需写:notesnotes.bat 它将执行带有所需更改的notes.bat 文件。

【讨论】:

【参考方案17】:

启动 CMD 时,我的默认目录是 system32。 然后,我在该目录中创建了一个批处理文件,以将 dir 更改为我想要的目录。

这导致我每次启动 CMD 时总是调用那个 bat。 所以我制作了一个 reg 文件并将其放入:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Command Processor]
"Autorun"="cd C:\\Users\\Me\\SomeFolder"

保存后,我打开文件,点击确定与注册表合并,此后每次打开CMD,我都会得到我的目录

【讨论】:

【参考方案18】:

在新的 Windows 终端中,您可以单击“设置”并编辑“startingDirectory”行以实现类似的效果。

但是请注意,这只会更改 Windows 终端中的默认启动目录,而不是全局的命令提示符。

【讨论】:

【参考方案19】:

使用Windows Terminal 和configure a starting directory。 部分settings.json


    // Make changes here to the cmd.exe profile.
    "guid": "0caa0dad-35be-5f56-a8ff-afceeeaa6101",
    "name": "Command Prompt",
    "commandline": "cmd.exe",
    "hidden": false,
    "startingDirectory": "C:\\DEV"
,

【讨论】:

【参考方案20】:

保持命令提示符的开头干净。避免编辑注册表项并添加自动运行,它可能会回来咬你。 创建一个简单的批处理文件并将其保存在 C:\Windows 或 C:\Windows\System32 文件夹中。我叫我的 !.bat (感叹号)。它有以下命令:

@echo 关闭 C: 光盘\ 分类 呸呸呸

它转到我需要工作的文件夹,清除屏幕并告诉我我所在的安全上下文。

【讨论】:

【参考方案21】:

“从目录开始”命令

cmd /K cd C:\WorkSpace

但如果 WorkSpace 碰巧不在 C 盘上,控制台将在默认文件夹中启动,然后您仍然需要放入 D: 来更改驱动器 为了避免这种情况,请使用带有 -d 参数的 cd

cmd /K cd -d D:\WorkSpace

创建一个快捷方式和你的固定;)

【讨论】:

【参考方案22】:

您好,如果您希望机器启动时自动打开 cmd,可以将 cmd.exe 可执行文件放在启动文件夹中(只需搜索启动并将 cmd.exe 的快捷方式放在那里)

【讨论】:

【参考方案23】:

regedit 工作得很好。 HKEY_CURRENT_USER\SOFTWARE\MICROSOFT\Command 处理器,您所要做的就是更改 AutoRun 键值,该键值已经设置为您当前被转储到的任何位置,格式为:

cd /d <drive:path>

for c:\, that would be cd /d c:\
for junk, that would be cd d/ c:\junk

它非常简单,即使是从未使用过regedit 的新手也应该​​能够弄清楚。如果没有,请转到 c:\prompt 并输入 regedit,然后按照密钥的路径。

【讨论】:

感谢您告诉我们,但重复另一个答案本身并不是一个答案。

以上是关于在 Windows 7 中更改命令提示符的默认启动目录的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Windows 中更改 Laravel 5 的默认 url

是否可以使用命令提示符更改 Windows 光标方案?

更改centos 7 的默认启动为命令界面

Windows 7上的启动域失败Glassfish

如何在Windows cmd终端中设置cd命令的默认目录?

在 Windows 7 上重新启动 mysql 服务器