为何PowerShell仍运行脚本旧版本?修改后代码未生效求助
解决PowerShell脚本执行旧代码的问题
先确认你运行的是修改后的脚本文件:
- 打开脚本所在文件夹,右键用PowerShell打开,直接运行
.\你的脚本名.ps1,不要依赖历史命令里的路径,避免指向旧文件。 - 用编辑器打开脚本,确认
Add-Type -Path "..\.\CSharp\KeyBoardHook.cs"这行已保存,部分编辑器需要手动触发保存(比如Ctrl+S)。
- 打开脚本所在文件夹,右键用PowerShell打开,直接运行
检查是否存在同名脚本副本:
用Get-ChildItem -Recurse -Name "你的脚本名.ps1"在当前盘符下搜索所有同名文件,确认你修改的是正在运行的那一个。彻底清理PowerShell会话残留:
- 用任务管理器结束所有
powershell.exe或pwsh.exe进程,包括后台运行的实例。 - 用
powershell -NoProfile启动新窗口(跳过配置文件加载),再运行脚本测试。
- 用任务管理器结束所有
排查文件锁定或同步问题:
杀毒软件、云同步工具(如OneDrive)可能锁定脚本文件导致修改无法生效,可将脚本复制到本地非同步文件夹(比如D:\Temp),修改后再运行。验证脚本路径的小技巧:
在脚本开头添加Write-Host "当前执行脚本路径:$PSCommandPath",运行后会显示脚本的绝对路径,确认是否为你修改的文件。
内容的提问来源于stack exchange,提问作者pfeidewigo100
相关产品推荐
相关产品推荐

