目录
报错
报错1 未修改执行策略
报错2 用户权限不够
报错3 .ps1使用中文路径
报错4 .ps1路径错误
powershell运行指令,包括在终端直接输入指令和运行.ps1文件,常出现的报错及处理
报错
报错1 未修改执行策略
如果不修改执行策略,将会报错:
.\ReplaceShortcuts.ps1
.\ReplaceShortcuts.ps1 : 无法加载文件 D:\ReplaceShortcuts.ps1,因为在此系统上禁止运行脚本。有关详
细信息,请参阅 https:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。
所在位置 行:1 字符: 1
+ .\ReplaceShortcuts.ps1
+ ~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : SecurityError: (:) [],PSSecurityException
+ FullyQualifiedErrorId : UnauthorizedAccess
修改:在执行.\ReplaceShortcuts.ps1之前,修改执行策略。
Set-ExecutionPolicy RemoteSigned
报错2 用户权限不够
如果用户权限不够,将会报错:
Set-ExecutionPolicy RemoteSigned
Set-ExecutionPolicy : 对注册表项“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell”的
访问被拒绝。 要更改默认(LocalMachine)作用域的执行策略,请使用“以管理员身份运行”选项启动 Windows PowerShell。要更改当
前用户的执行策略,请运行 "Set-ExecutionPolicy -Scope CurrentUser"。
所在位置 行:1 字符: 1
+ Set-ExecutionPolicy RemoteSigned
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : PermissionDenied: (:) [Set-ExecutionPolicy], UnauthorizedAccessException
+ FullyQualifiedErrorId : System.UnauthorizedAccessException,Microsoft.PowerShell.Commands.SetExecutionPolicyComma
nd
方法一:请使用“以管理员身份运行”选项启动 Windows PowerShell。再 “Set-ExecutionPolicy RemoteSigned”。
方法二:不用管理员身份,而是执行“Set-ExecutionPolicy -Scope CurrentUser”。
报错3 .ps1使用中文路径
如果.ps1文件里的地址路径设置为中文,在运行时可能会报错:
.\ReplaceShortcuts.ps1
Get-ChildItem : 找不到路径“D:\瑰紡”,因为该路径不存在。
所在位置 D:\复制\ReplaceShortcuts.ps1:4 字符: 1
+ Get-ChildItem $shortcutPath -Filter *.lnk | ForEach-Object {
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (D:瑰紡:String) [Get-ChildItem], I
temNotFoundExceptio n
+ FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetChildItemCommand
在【控制面板】中修改,在【控制面板】中找到【区域】 -> 【管理】 -> 【更改系统区域设置】 -> 勾选【Beta版:使用Unicode UTF-8 提供全球语言支持】,如下图:
重启电脑即可。
解决方法来源:PowerShell以及cmd 命令 或者 Java的Runtime.exec执行cmd命令 存在中文路径的解决办法_怎么在 powershell 脚本使用中文路径读取文件_彦宝的博客-CSDN博客
报错4 .ps1路径错误
在执行.\ReplaceShortcuts.ps1时
.\ReplaceShortcuts.ps1
.\ReplaceShortcuts.ps1 : 无法将“.\ReplaceShortcuts.ps1”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称
的拼写,如果包括路径,请确保路径正确,然后再试一次。
所在位置 行:1 字符: 1
+ .\ReplaceShortcuts.ps1
+ ~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (.\ReplaceShortcuts.ps1:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
方法一:使用“cd”指令跳转到ReplaceShortcuts.ps1所在文件夹:
cd D:\path\to\folder
其中,path\to\folder
是你要访问的文件夹的路径。例如,如果你要访问D盘的一个名为"Documents"的文件夹,可以使用以下命令:“cd D:\Documents” 这个命令会将当前工作目录更改为D盘的Documents文件夹,这样你就可以在PowerShell中访问该文件夹中的文件和文件夹了。
跳转到ReplaceShortcuts.ps1所在文件夹之后再执行.\ReplaceShortcuts.ps1。文章来源:https://www.toymoban.com/news/detail-666694.html
方法二:使用绝对路径,方法是输入 “&”+“绝对路径”文章来源地址https://www.toymoban.com/news/detail-666694.html
& "D:\复制\ReplaceShortcuts.ps1"
到了这里,关于Windows系统powershell运行指令常见报错及处理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!