PowerShell脚本执行后无法自动退出控制台且不关闭VSCode如何解决
问题原因
你当前脚本运行后PowerShell无法自动退出的核心原因是:直接调用code .时,PowerShell会默认等待VSCode进程执行完毕并返回退出码后,才会执行后续的exit 0语句。只要VSCode保持运行,控制台进程就会一直处于等待状态,不会自动退出。
解决方法
把调用VSCode的语句换成用Start-Process启动,该命令会直接启动目标程序且不会阻塞后续脚本执行,修改后脚本即可正常执行exit语句关闭控制台,同时VSCode会保持独立正常运行。
修改后完整脚本
# 月份对应哈希表 $hash_month = @{1="jan";2="feb";3="mar";4="apr";5="may";6="june";7="july";8="aug";9="sep";10="oct";11="nov";12="dec"} # 获取当前日期 $date = (Get-Date).Day # 获取当前月份 $month = (Get-Date).Month # 从哈希表取月份缩写 $month_name= $hash_month[$month] # 拼接目标目录完整路径,避免路径含空格时报错 $targetDir = Join-Path -Path $PWD.Path -ChildPath "$month_name$date" # 创建目录,已存在则自动跳过 [System.IO.Directory]::CreateDirectory($targetDir) # 异步启动VSCode打开目标目录,不阻塞脚本后续执行 Start-Process -FilePath "code" -ArgumentList "`"$targetDir`"" # 脚本执行完毕自动退出控制台 exit 0
内容的提问来源于stack exchange,提问作者Kamesh Kotwani
相关产品推荐
相关产品推荐

