You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

未硬编码目录时Bat文件无法启动PowerShell脚本的问题求助

解决Bat脚本管理员权限启动PowerShell及可变目录适配问题

修改后的Bat脚本(Start.bat)

解决硬编码路径和权限问题,自动适配当前脚本所在目录:

@echo off
set "SCRIPT_PATH=%~dp0StartNew.ps1"
PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& {Start-Process PowerShell -ArgumentList '-NoProfile -ExecutionPolicy Bypass -File ""%SCRIPT_PATH%""' -Verb RunAs}"

关键改动说明

  • %~dp0:自动获取当前Bat脚本所在的绝对路径,彻底解决跨机器路径适配问题
  • ExecutionPolicy Bypass:临时放宽执行策略,避免安全拦截且无需用户确认
  • -Verb RunAs:强制以管理员权限启动新的PowerShell窗口

配套PowerShell脚本(StartNew.ps1)

实现Chocolatey与Winget的无交互自动安装:

# 配置执行策略与TLS协议,确保安装顺利
Set-ExecutionPolicy Bypass -Scope Process -Force
[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072

# 无交互安装Chocolatey
iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))

# 通过Chocolatey无交互安装Winget
choco install winget -y --force

# 安装完成提示
Write-Host "Chocolatey和Winget已完成自动安装" -ForegroundColor Green

安装逻辑说明

  • -y参数自动确认所有安装提示,全程无需用户输入
  • --force确保即使Winget已存在也能完成部署(可选,按需保留)
  • 配置TLS 1.2协议,避免下载时的安全连接问题

注意事项

  • 两个脚本需放在同一文件夹下运行
  • 首次运行会触发系统UAC管理员权限确认(系统安全机制,无法绕过)
  • 需保证机器处于联网状态,才能下载安装包

内容的提问来源于stack exchange,提问作者CreaGab

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 06:30:04