Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 如何更改cmd.exe的默认启动目录?_Windows_Registry - Fatal编程技术网

Windows 如何更改cmd.exe的默认启动目录?

Windows 如何更改cmd.exe的默认启动目录?,windows,registry,Windows,Registry,我的程序最后一天如下 单击开始、运行并键入Regedit.exe 导航到以下分支: HKEY\U当前用户\软件\微软\命令处理器 在右侧窗格中,双击“自动运行”并将启动文件夹路径设置为其数据,前面加上“CD/d”。如果缺少Autorunvalue,则需要在上述位置创建一个类型为REG_EXPAND_SZ或REG_SZ的启动文件夹路径 示例:要将启动目录设置为D:\learning\perl,请将自动运行值数据设置为CD/D:\learning\perl 然后我点击开始,运行并键入cmd。它成功了

我的程序最后一天如下

单击开始、运行并键入Regedit.exe 导航到以下分支:

HKEY\U当前用户\软件\微软\命令处理器

在右侧窗格中,双击“自动运行”并将启动文件夹路径设置为其数据,前面加上“CD/d”。如果缺少
Autorun
value,则需要在上述位置创建一个类型为REG_EXPAND_SZ或REG_SZ的启动文件夹路径

示例:要将启动目录设置为D:\learning\perl,请将自动运行值数据设置为CD/D:\learning\perl

然后我点击开始,运行并键入cmd。它成功了。我现在可以更方便地进行perl练习了

但今天,当我尝试构建Visual Studio 2005解决方案时,我发现其中包含了一些预构建事件命令,如下所示:
perl.exe MyAppVersion.pl
perl.exe AttrScan.pl
它不工作。显示错误:找不到路径。 我检查了环境变量设置,发现变量-
path
及其值-
c:\perl\bin\;
仍然存在

最后,, 我尝试删除Regedit.exe配置“Autorun”值并再次测试。 问题解决了


我只更改了cmd.exe命令的默认启动目录。为什么预生成事件perl命令受到影响?(我使用的是winxp和activePerl 5.8)

看起来Visual Studio正在使用cmd.exe执行perl.exe。这并不罕见,而且像您这样更改注册表也会影响其他程序,而不仅仅是Visual Studio


只需手动制作CD/D或创建一个指向cmd.exe的链接,将D:\learning\perl设置为起始目录。

我注意到在windows 7 x64上,JDigital建议创建一个将D:\learning\perl设置为起始目录的链接是不起作用的。cmd.exe不会将其作为一个合法参数。此外,在windows 7中,键引用了by brian d foy不存在。因此,在windows 7上,如果cmd不在系统卷(C:)上,似乎无法在正确的目录中启动。就我而言,这还没有解决。

似乎与Perl无关,但这是windows的问题:

我将
HKEY\u CURRENT\u USER\Software\Microsoft\Command Processor\AutoRun
设置为C:\Work

当试图从vim内部使用git时,vim和gvim都不能使用vim插件

调用应用程序时,工作目录始终强制为C:\Work

尽管我在编辑器中打开了版本化存储库中的正确文件,它找到并使用了git可执行文件,但它在错误的目录中查找存储库。
无论是在gvim中使用鼠标从Windows打开文件,还是通过vim中的cmd.exe打开文件

从注册表中删除自动运行字符串,一切正常。 仍然可以找到PATH变量中列出的可执行文件,但工作目录是错误的,因为它是强制执行的。(这是我2分钟前观察到的解释。)

据我所知,这不是问题的答案,因此不应作为答案发布。此空间用于提供答案,因为它位于答案空间中,用于书写的文本区域以您的答案为标题。当您获得评论权限后,您可以将评论留给quest回答或回答来表达观点,但您不能使用此空间来表达观点。