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


70

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

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

  WIN-R(运行提示)
  CMD / K CD C:\

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

  WIN-R(运行提示)
  指令

4
Superuser.com可能更适合此问题。
alex

3
我在这里找到了最少的系统侵入性解决方案superuser.com/a/155863/12735
IProblemFactory 2012年

1
还有另一个很好的答案stackoverflow.com/a/21485003/5016547
Joseph238

您是否尝试过使用setCMD中的命令查看可用变量?还是考虑使用类似的东西%windir%\system32\cmd.exe /K "cd targetdirectory"作为您的快捷方式?
SDsolar

Answers:


29

虽然添加自动运行条目来HKEY_CURRENT_USER\Software\Microsoft\Command Processor像Shinnok的答案一样也可以使事情变得一团糟,但您确实应该尝试使用cmd.exe作为子进程来检测简单的cmd.exe启动与脚本/程序:

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

11
您可以从命令行使用此命令reg add "HKEY_CURRENT_USER\Software\Microsoft\Command Processor" /v AutoRun /t REG_SZ /d "IF x"%COMSPEC%"==x%CMDCMDLINE% (cd /D c:\)"
venimus 2012年

4
请注意...我是这样做的,并且在运行任何命令行功能(例如grunt或)时bower,它将尝试使用此目录而不是您当前所在的目录...仅供参考
Mike Fielden

我在使用Heroku的命令行工具时遇到了类似的问题,导致其交互git失败而无声无息。根据您使用的工具,此解决方案可能不值得头痛。
2014年

2
我遇到了一个案例不匹配的问题。必须稍微修改该行才能使其正常工作。/ I增加不区分大小写。问题出在c:\ Windows \ System32 \ cmd.exe和c:\ Windows \ system32 \ cmd.exe IF /I x"%COMSPEC%"==x%CMDCMDLINE% (cd /D c:\)
helios456 2015年

如何使它在以管理员身份运行cmd时也起作用。.使用“运行方式”选项
Alex

94

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


3
这对我有用,如果您想以C:\开头,只需添加“ \”而不是“ c:\”,否则将不起作用。
Cerveser 2014年

2
那几乎就是我所做的。更安全,更清洁。但是,如果您以管理员身份运行,则@Cerveser之类的文件似乎无法正常工作。
AturSams 2014年

2
只需添加一下,您便可以使用多个cmd快捷方式,每个快捷方式都指向不同的启动目录。
LightBox

1
以管理员身份运行到系统32 =(
安德鲁

您不需要做一个捷径-已经有一个可以编辑的快捷方式。参见@BenOcc的回答-尽管win10上的路径略有不同
Radagast the Brown

50

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

C:\ Users \您的用户名\ AppData \ Roaming \ Microsoft \ Windows \开始菜单\程序\附件\命令提示符

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

更新

看来Microsoft最近已更改了此行为,因此现在需要执行其他步骤。执行上述步骤后,复制修改后的快捷方式“命令提示符”,并将其重命名为“ cmd”。然后,在开始菜单中键入“ cmd”时,它应该可以再次工作。


2
在Win 8.1上,我在而Windows System不是配件下找到了快捷方式。
IsaacS 2014年

1
好的答案-可行,不需要黑客,也不会破坏其他工具。
Thomas W

2
对于使用多个命令行界面的用户(GIT BASH,CYGWIN,Language Shells),这是最安全的答案。您甚至可以将快捷方式分配给键盘快捷方式。
内森

1
最佳答案,为什么不选择这个?
vzhen 2016年

4
在我的Windows 10上,cmd快捷方式位于“ C:\ Users \ myusername \ AppData \ Roaming \ Microsoft \ Windows \ Start Menu \ Programs \ Windows System”中
Joseph238

40

打开regedit并浏览到此路径

HKEY_CURRENT_USER\Software\Microsoft\Command Processor

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

再次运行cmd。瞧!


11
我非常确定这会导致问题,因为脚本和其他程序可能会启动cmd.exe /%comspec%并最终在错误的目录中!
安德斯(Anders)

4
@Anders,是的,您是对的,几乎所有从此开始的cmd调用都将从C:开始,这可能会破坏脚本和其他使用cmd的工具的功能。
Shinnok 2011年

1
<del>可能会破坏某些功能</ del> <ins>肯定会破坏大量脚本</ ins>
Gras Double

5
这样做最终将导致痛苦。
valve伦敦

2
完全忘了我遵循了这个建议,花了无数小时来调试npm和nodemon为何失败。请不要这样做。
亚历克斯·比尔斯

25

最简单的方法

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

正在运行的广告管理员总是进入系统32 =(
Andrew

1
甚至在6年后仍不可以复制应答者的副本!
Dwza

1
@Andrew您可以通过以下方法进行更改:转到HKEY_CLASSES_ROOT \ cmdfile \ shell \ runas \ command,然后在exe的cmd.exe \ C路径之后更改默认目录参数
Umair Aziz

4

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

点击“属性”。

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

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

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

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


3

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

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

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


1
这不是答案。如果您需要问作者一些问题,请发表评论。如果您有任何疑问,请发表您自己的问题。

现在已经对其进行了编辑,这是一个很好的答案。但我更喜欢引号: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%)"
fsteff

3

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

cmd /k "command"

cmd /k "cd\myStartUpFolder"

瞧!


3

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

describe_image


2

在Windows 7上:

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

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


从可用性的角度来看,这是最佳选择。它还不会破坏环境的其余部分,也不需要知道一些特殊的键!
epelc

1

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



1
  1. 转到regedit(转到搜索并键入regedit)
  2. 展开“ HKEY_CURRENT_USER”节点
  3. 在HKEY_CURRENT_USER节点下,展开“软件”节点
  4. 在软件节点下,展开“ Microsoft”节点
  5. 在Microsoft节点下,单击“命令处理器”
  6. 路径看起来像这样:“ HKEY_CURRENT_USER \ Software \ Microsoft \ Command Processor”

它看起来像这样:

  1. 如果看不到“自动运行”字符串值
  2. 右键单击-新建-展开式字符串值,并将其重命名为自动运行
  3. 双击“自动运行” 10.输入此值路径格式:
  4. “ CD / d C:\您的文件夹名称\您的子文件夹名称”

1

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

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


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

您应该只更改用于打开cmd的任何快捷方式即可获得“开始于”条目。

如果使用Win+ xc启动CMD,您可以编辑开始了

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

0

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

@echo off c:cd \ cls whoami

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


0

类型

cmd.exe /k cd c:/

在文本文件中并另存为cmd.bat单击此文件即可完成操作。您也可以将其固定到开始菜单。

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

cmd.exe /k d:

0

一种简单的方法+奖金。

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以所需的更改执行文件。


0

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

这使我每次启动CMD时总是叫蝙蝠。因此,我制作了一个reg文件并将其放入其中:

Windows Registry Editor Version 5.00

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

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


0

嗨,如果您希望cmd在计算机启动时自动打开,则可以将cmd.exe可执行文件放置在启动文件夹中(只需搜索启动并在其中放置cmd.exe的快捷方式)


0

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

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


0

使用Windows Terminal配置一个起始目录。部分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"
},

-1

“在目录中启动”命令

cmd /K cd C:\WorkSpace

但是,如果WorkSpace恰好与C驱动器不在同一驱动器上,则将在默认文件夹中启动控制台,然后您仍然需要输入D:来更改驱动器。

cmd /K cd -d D:\WorkSpace

创建一个快捷方式,然后将其固定;)


-3

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,然后按照键的路径进行操作。


感谢您告知我们,但是重复另一个答案本身并不是一个答案。
Andy Wiesendanger '16
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.