两行命令搞定powershell utf-8乱码
打开powershell输入
notepad $PROFILE
装了vscode的敲下面的也行
code $PROFILE
在打开的文件中输入以下内容并保存
[System.Console]::OutputEncoding = [System.Console]::InputEncoding = [System.Text.Encoding]::UTF8
好了,重开一个powershell就好了。
大概说明一下:
powershell里不能再使用原来适用于cmd的chcp 65001来解决utf-8编码的问题,要是你搜到用chcp 65001,结果又没效果,是因为这个只能cmd用。
上面第二行代码的意思是把System.Console的输出编码和输入编码都改成系统文本文件编码和UTF-8,也就是同时支持两种。如果不想每次都生效,直接执行第二行也是可以的。
第一行则是使用notepad或者vscode打开powershell默认配置文件,这个配置文件里的内容每次powershell启动时都会自动执行一次。如果你想知道具体在什么位置,直接输入$PROFILE回车也行。
Powershell无法执行脚本问题解决方案
问题
无法将“xxx”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后重试。
问题原因
电脑上启动 Window Powershell时,默认情况下,其执行策略可能是Restricted。Restricted策略是不允许任何脚本执行的。
Powershell执行策略
- Restricted: 脚本不能运行(默认设置)
- RemoteSigned: 在本地创建的脚本可以运行,网上下载的脚本无法运行(拥有数字证书签名例外)
- AllSigned: 仅当脚本由受信任的发布者签名时才能运行
- Unrestricted: 允许所有脚本运行
如要查询当前执行策略 其命令如下
get-executionpolicy //查看当前执行策略
解决方案
以管理员身份打开PowerShell 输入 set-executionpolicy remotesigned
set-executionpolicy remotesigned //修改执行策略为remotesigned
选择Y 然后电脑上就可以执行自己编写的脚本文件
Windows下如何查看某个端口被谁占用
1、打开命令窗口(以管理员身份运行)
开始—->运行—->cmd,或者是 window+R 组合键,调出命令窗口。
2、查找所有运行的端口
输入命令:
netstat -ano
该命令列出所有端口的使用情况。
在列表中我们观察被占用的端口,比如是 1224,首先找到它。
3、查看被占用端口对应的 PID
输入命令:
netstat -aon|findstr "8081"
回车执行该命令,最后一位数字就是 PID, 这里是 9088。
4、查看指定 PID 的进程
继续输入命令:
tasklist|findstr "9088"
回车执行该命令。
查看是哪个进程或者程序占用了 8081 端口,结果是:node.exe。
5、结束进程
强制(/F参数)杀死 pid 为 9088 的所有进程包括子进程(/T参数):
taskkill /T /F /PID 9088
将Windows11右键菜单修改为Windows10风格
Windows11右键菜单很多功能隐藏起来了,使用时需要点击“显示更多选项”才能获取完整功能。为了能获得Windows10右键菜单丝滑的体验,我找到了以下方法。
核心原理就是修改注册表。
方法一:控制台操作法
- 按住win+R打开运行窗口
- 输入cmd,打开控制台
- 在控制台中输入下方代码,回车,显示操作成功
开启旧版右键菜单:
reg add "HKCU\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}\InprocServer32" /f /ve
恢复windows11新版右键菜单:
reg delete "HKCU\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}" /f
执行完后,重新启动windows资源管理器即可。
方法二:注册表修改法
- 按住win+R打开运行窗口
- 输入regedit,打开注册表编辑器
- 在注册表中输入:
计算机\HKEY_CURRENT_USER\Software\Classes\CLSID
- 右键点击文件夹CLSID,选择——新建——项,将新建项命名为:
{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}
- 右键文件夹{86ca1aa0-34aa-4e8b-a509-50c905bae2a2},选择——新建——项
- 将新建项命名为
InprocServer32
- 左键双击右侧的——默认,然后点击确定,将数据由“数值未设置”改为“空”。
- 重新启动windows资源管理器即可。