Skip to content
Calvin's Blog

Windows PowerShell 脚本问题记录

Nov 20, 2024 — Softwares

现在的工作电脑以 Windows 为主,没了 Mac 的命令行,非常不习惯。项目中难免需要一些脚本来执行频繁的任务,Windows 下的批处理脚本BAT 非常垃圾,功能残缺,只好选择 PowerShell 来处理。

本文记录 PowerShell 脚本运行中遇到的问题,写脚本代码是不可能了,99%是 Claude 来完成,最多调整几个小地方。

1. 中文在控制台显示乱码

正确做法是 : 修改文件编码为UTF-8 with BOM

以下方法没有效果:

  1. 文件编码改为”UTF-8”
Terminal window
# 设置输出编码为 UTF-8
$OutputEncoding = [System.Text.Encoding]::UTF8
# 设置控制台输出编码为 UTF-8
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
  1. 在控制台切换编码
Terminal window
chcp 65001
  1. 创建 $PROFILE 文件
Terminal window
[System.Console]::OutputEncoding = [System.Console]::InputEncoding = [System.Text.Encoding]::UTF8

参考链接: https://answers.microsoft.com/zh-hans/windowsclient/forum/all/powershell%E6%89%A7%E8%A1%8C%E4%BB%A5utf/f0119b8a-5edf-48e4-a1a0-9a5fbbdb852e (opens in a new window)

2. param 执行报错

具体错误如下:

Terminal window
param : 无法将“param”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。

解决办法:将 param 函数放在所有代码之前

参考链接: https://www.cnblogs.com/wutou/p/17997760 (opens in a new window)