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

PowerShell脚本执行报错‘找不到驱动器’,控制台运行正常求排查(Windows Server 2016)

问题排查与解决方案

核心原因:参数符号错误

你复制的命令里,–Path的破折号是全角字符(「–」),而PowerShell只识别半角短横线(「-」)。控制台里可能因自动修正或输入差异能正常解析,但脚本里会把这个全角破折号当成路径的一部分,导致PowerShell找不到对应驱动器(相当于把「–Path D:...」当成了不存在的路径)。

修复后的命令

把所有全角破折号替换成半角短横线,修改后的脚本内容如下:

Get-ChildItem -Path "D:\Software\logs\log" -Recurse | Where-Object {($_.LastWriteTime -lt (Get-Date).AddDays(-30))} | Remove-Item -Force

Get-ChildItem -Path "D:\Software\logs\services\service" -Recurse | Where-Object {($_.LastWriteTime -lt (Get-Date).AddDays(-30))} | Remove-Item -Force

额外添加的-Force参数,可处理只读文件的删除,避免不必要的报错。

其他排查方向(若上述修复无效)

  • 确认脚本以管理员权限运行:右键脚本文件选择「用PowerShell运行」,或在管理员PowerShell窗口中执行脚本
  • 验证路径正确性:在脚本开头加入测试命令,确认路径存在
    Test-Path "D:\Software\logs\log"
    Test-Path "D:\Software\logs\services\service"
    
    若返回False,说明路径拼写错误,需仔细核对目录名
  • 检查脚本编码:将脚本保存为UTF-8 BOM格式(PowerShell对无BOM的UTF-8支持可能存在问题,尤其是包含特殊字符时)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 20:57:08