免责声明:我之前读过this和this,但它没有按我想要的方式工作。
描述:我决定创建一组批处理文件,以便轻松地从桌面上一键(双击)运行 VSCode 中的不同项目。我想在运行批处理文件后关闭 cmd 终端,但终端仍然存在。我试过:
start code "C:\Users\MyUserName\path\to\my\project\directory"
和
cmd /c start code "C:\Users\MyUserName\path\to\my\project\directory"
它快速运行命令,运行代码并打开我的项目,然后,在我看来,关闭终端并在桌面目录中运行一个新的终端。
我在DavidPostill的帮助下找到了解决方案。这对我来说效果很好:
start "" cmd /b /c code "C:\Users\MyUserName\path\to\my\project\directory" && exit 0
更新: 有一种更简单的方法可以使用命令行界面运行 VSCode:
cd path/to/my/project
code .
如果其他人在 2022 年遇到此问题,我找到了一个非常适合我的解决方案。
code "" "C:\path\to\folder\with\project" | exit
另外,下面是我为快速工作区制作的批处理:
希望这对像我这样不了解批处理文件的人有帮助!
@echo off &setlocal
set /p "folder=Enter the folder name to be created: "
md "%folder%" ||(pause &goto :eof)
cd %folder%
echo. > Things_I_had_to_look_up.txt
echo. > Answers.txt
dotnet new console
xcopy /s "C:\xPaintFileTemplate" "C:\Users\TBD\Documents\Program Work\%folder%"
start mspaint.exe Work.png
code "" "C:\Users\TBD\Documents\Program Work\%folder%" | exit
Rem not needed but to be safe
exit
C:\xPaintFileTemplate
是我C盘的一个文件夹,里面只包含一个名为Work.png
的png文件。 png 文件是空白的,其大小适合我想要 mspaint 打开的大小。如果该文件夹中有更多文件,它将复制所有文件,因此请小心 xcopy!
Rem
是一条注释,表示exit
命令似乎不是必需的,但我无论如何都添加了它,因为我相信这是很好的做法。
以上都不适合我;最坏的情况是,剩下的 CMD 之一需要单击其关闭按钮三下才能消失。
我尝试了 URL 方法,这正如我想要的那样:VSCode 打开,cmd 窗口消失了;我的批处理文件 (
"VSCode on project.bat"
) 仅包含一行:
start vscode://file/C:/path/to/project
或:
start "" "vscode://file/C:/path/to/project"
尝试使用:
start cmd /C code . :0
应该可以关闭cmd终端。至少这对我的 Windows 10 有效。
另一个版本:
start cmd /C code "C:\Users\MyUserName\path\to\my\project\directory" :0
根据Blake Daugherty的回答,我发现第一对双引号似乎没有必要:
code "D:\proj\directory-1" | exit
code "D:\proj\directory-2" | exit
exit
一行代码:
代码 C:\Users\MyUserName\path o\my\project\directory 暂停
如果您有与 VSCode 一起安装的
code
命令:
echo | code . | exit /b
如果您以管理员身份运行脚本:
cd /d %~dp0
echo | code . | exit /b
使用
start /b
通常可以让其他程序关闭 cmd 窗口。