Windows 7:cmd.exe:设置启动目录(在指向 cmd.exe 的链接中)

Posted

技术标签:

【中文标题】Windows 7:cmd.exe:设置启动目录(在指向 cmd.exe 的链接中)【英文标题】:Windows 7: cmd.exe: setting startup directory (in a link to cmd.exe) 【发布时间】:2012-07-01 11:11:57 【问题描述】:

我正在运行 Windows 7,当我运行 cmd.exe 时,我希望它启动 在名为 C:\foo\bar 的目录中。我记得能够创建一个 链接到桌面上的这个可执行文件并右键单击某处 通过填充设置cmd.exe命令提示符的启动菜单 在瞬态窗口中取出一个字段,但我找不到它。我有 发现以下论点似乎更复杂。 我想通过弹窗设置cmd.exe的启动目录。

Changing default startup directory for command prompt in Windows 7

有什么想法吗?

【问题讨论】:

【参考方案1】:

正如其他海报已经提到的那样: 常规方法是编辑快捷方式的属性并填写标有“开始于”的字段。就这么简单。

但是,由于某种原因,如果同时您还在快捷方式的高级属性中启用了“以管理员身份运行”复选框,则这对启用 UAC 的系统没有影响。

解决方案是将所有内容都放在快捷方式的“目标”字段中:

%windir%\System32\cmd.exe /K cd /d "E:\My Folder" & sometest.bat

在 64 位上运行并且您想显式启动 32 位风格的命令提示符时:

%windir%\SysWOW64\cmd.exe /K cd /d "E:\My Folder" & sometest.bat

有关上面使用的命令行参数的更多信息,请参阅:cmd.exe /?cd.exe /?

【讨论】:

/d 开关在做什么? /d 告诉 cd 使用完整路径并根据需要更改驱动器号。因此,与其执行“prompt> d:”之类的操作来访问 D 驱动器,然后执行“prompt> cd somedir_on_d”,您只需“cd /dd:\somedir_on_d”就可以了...一旦您知道它就在那里,真的很方便。 谢谢,正是我需要的!这应该是选择的答案! 它不起作用的原因Start in只是设置了工作目录,但是UAC并没有直接继承工作,专门用来防止对搜索路径的攻击(注意sudo 默认在 *nix 上做同样的事情。 /K cd /d "E:\My Folder" 之后如何执行另一个命令?比如我想从某个地方开始,输入一个python virtualenv,需要额外的命令activate py3【参考方案2】:

当您创建 cmd.exe 的快捷方式时,您可以打开快捷方式属性并在 快捷方式 选项卡下找到 Starts in 选项,该选项将告诉 cmd.exe 去哪里开始,像这里:

【讨论】:

【参考方案3】:

打开cmd 的快捷方式属性并在那里设置目录:

【讨论】:

【参考方案4】:

试试这个快捷方式目标:

C:\Windows\System32\cmd.exe cd /d %~dp0

它将在快捷方式的文件夹中启动cmd.exe

【讨论】:

以上是关于Windows 7:cmd.exe:设置启动目录(在指向 cmd.exe 的链接中)的主要内容,如果未能解决你的问题,请参考以下文章

Windows cmd指令大全

windows常用命令

Windows 上的 Python 子进程:启动子进程“cmd.exe”并为其提供 bat 文件,停止主进程执行

windows常用命令

如何通过cmd在Windows OS中更改PATH

python subcommand.Popen调用不同目录下的脚本时cmd.exe弹出新窗口