Visual Studio 2017 Developer命令提示符切换当前目录

时间:2017-10-11 07:06:38

标签: cmd msbuild visual-studio-2017 working-directory

我得到了“VS 2017开发人员命令提示”命令行工具的奇怪行为。通常在Visual Studio的早期版本中,这个脚本(VsDevCmd.bat)并没有弄乱你运行它的当前目录。现在它似乎改变了它。一个简单的工作流程就是启动快捷方式“VS 2017的开发人员命令提示符”,它不支持“开始”目录: enter image description here

有人见过这个问题吗?它真的很烦我,因为我曾经有一个快捷方式,并在我的源目录中启动CMD,然后使用TFS / msbuild命令。

4 个答案:

答案 0 :(得分:9)

您可以将VSCMD_START_DIR环境变量设置为在完成后将vsdevcmd.bat更改为该目录。否则,它将检查您是否有%USERPROFILE%\source目录并更改为该目录(这是您所看到的)。

您可以更改"目标"对于VS 2017的"开发人员命令提示符"如下所示更改到特定目录:

%comspec% /k "set VSCMD_START_DIR=C:\temp && "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\Tools\VsDevCmd.bat""

请注意,vsdevcmd.bat的路径需要添加一组双引号。

或者,重命名或删除%USERPROFILE%\source目录(请注意,这似乎是某种新的"标准"源目录),这将使vsdevcmd.bat尊重& #34;开始" -value(即"当前目录")。

答案 1 :(得分:1)

::雷德蒙德的一些火箭科学家让VS15 VsDevCmd.bat改变了cwd; pushd / popd修复了这个问题。 推%%CD% 调用" C:\ Program Files(x86)\ Microsoft Visual Studio \ 2017 \ Professional \ Common7 \ Tools \ VsDevCmd.bat" POPD

" C:\ Program Files(x86)\ CruiseControl.NET \ server \ ccnet.exe" %*

答案 2 :(得分:1)

vsdevcmd_end.bat ,REM出线:

    cd /d "%USERPROFILE%\Source"
   @REM Set the current directory that users will be set after the script completes
   @REM in the following order:
   @REM 1. [VSCMD_START_DIR] will be used if specified in the user environment
   @REM 2. [USERPROFILE]\source if it exists
   @REM 3. current directory
   if "%VSCMD_START_DIR%" NEQ "" (
       cd /d "%VSCMD_START_DIR%"
   ) else (
       if EXIST "%USERPROFILE%\Source" (
           cd /d "%USERPROFILE%\Source"
       )
   )   

答案 3 :(得分:0)

如果我以正确的方式看到了您的疑问,那么我曾经在CMD或PowerShell的帮助下使用EntityFramework Core。为此,您应该右键单击“解决方案资源管理器”面板,然后在上下文菜单中,单击“文件资源管理器”中的“打开文件夹”。在文件资源管理器的地址栏中,键入cmd或powershell,您将从项目文件夹中启动命令行。