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

使用PowerShell创建含空格路径的计划任务问题

解决计划任务脚本路径含空格无法识别的问题

当$PSScriptRoot路径包含空格时,计划任务无法定位到Install.ps1的核心原因是含空格的路径需要被双引号包裹,才能被PowerShell正确识别为单个文件路径参数。你可以通过在脚本中转义双引号的方式实现自动添加,具体方案如下:

方案1:转义双引号包裹路径

直接在构建schtasks命令的/TR参数时,用PowerShell的转义符`(反引号)对路径的双引号进行转义,确保最终传递给计划任务的参数里包含正确的引号:

$installScript = "$PSScriptRoot\Install.ps1"
schtasks.exe /CREATE /F /TN "Install Application" /RU $taskUser /SC ONLOGON /IT /TR "powershell.exe -ExecutionPolicy Bypass -File `"$installScript`"" /RL HIGHEST

方案2:用Join-Path规范构建路径(推荐)

先用Join-Path命令更安全地拼接路径(避免手动拼接时的潜在错误),再用同样的转义方式包裹路径:

$installScript = Join-Path -Path $PSScriptRoot -ChildPath "Install.ps1"
schtasks.exe /CREATE /F /TN "Install Application" /RU $taskUser /SC ONLOGON /IT /TR "powershell.exe -ExecutionPolicy Bypass -File `"$installScript`"" /RL HIGHEST

原理说明

在PowerShell的双引号字符串中,`"会被解析为实际的双引号字符。最终schtasks接收到的/TR参数内容会是:

powershell.exe -ExecutionPolicy Bypass -File "C:\Path With Spaces\Install.ps1"

这样计划任务执行时,PowerShell就能正确识别带空格的完整路径了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 11:15:02