xubin1986 发表于 2021-7-28 10:13

Windows10 Wi-Fi密码备份小工具

使用场景:
       我是一个IT工作者,经常会带着笔记本去用户那里干活,连接用户的wifi,但不知哪天自己重装了系统,之前的WIFI密码都忘了,又得重新输入,自己的还好,用户的wifi配置没了,还得找用户再要,比较麻烦,所以利用Windows的一些脚本,可以自动备份所有的wifi配置文件,当重装系统后也能够快速恢复,我觉得还是非常便利的。

由于只在Windows10操作系统中测试,其它操作系统不一定有效

先上源码:(主要还是利用Powershell脚本,再转成exe)

<#
    Intro: This function will display a form to communicate with the user.
    Input: -FormText -ButtonText
    Example: MakeForm -FormText "ForInput" -ButtonText "Submit"
    Use: To make the PowerShell program's interactivity better.
#>
function MakeForm{
    param($FormText,$ButtonText)
    $null = ::LoadWithPartialName("System.Windows.Forms")
    $form = New-Object Windows.Forms.Form
    $form.size = New-Object Drawing.Size -Arg 400,80
    $form.StartPosition = "CenterScreen"
    $form.Text = $FormText.toString()
    $textBox = New-Object Windows.Forms.TextBox
    $textBox.Dock = "fill"
    $form.Controls.Add($textBox)
    $button = New-Object Windows.Forms.Button
    $button.Text = $ButtonText
    $button.Dock = "Bottom"
    $button.add_Click(
    {$global:path = $textBox.Text;$form.Close()})
    $form.Controls.Add($button)
    $form.ShowDialog()
}
MakeForm -FormText "请提供Wi-Fi配置文件路径" -ButtonText "备份/恢复"

#判断目标文件夹是否存在,如果不存在将创建
If(!(test-path $global:path))
{
      New-Item -ItemType Directory -Force -Path $global:path
      #导出wifi配置文件到指定目录
      netsh wlan export profile key=clear folder=$global:path
      cd $global:path
}

#导出wifi配置文件到指定目录
netsh wlan export profile key=clear folder=$global:path


#定位到所有xml配置文件目录,运行导入配置命令
cd $global:path
FORFILES /M *.xml /C "cmd /c netsh wlan add profile @path"

function Read-MessageBoxDialog
{
param ($Message,

$WindowTitle,

$Buttons = ::OK,

$Icon = ::None)

Add-Type -AssemblyName System.Windows.Forms

return ::Show($Message, $WindowTitle, $Buttons, $Icon)
}

Read-MessageBoxDialog -Message "配置导出完成,请确认之前提供的配置导出路径是否存在xml配置文件" -WindowTitle "Wi-Fi配置导出确认" -Buttons OK -Icon Information

以上代码是带交互的,如果不希望交互可以将配置文件路径写死为自己电脑上的路径,配合操作系统的计划任务,定期执行备份
$path = "你电脑的文件夹路径"

#判断目标文件夹是否存在,如果不存在将创建
If(!(test-path $path))
{
      New-Item -ItemType Directory -Force -Path $path
      #导出wifi配置文件到指定目录
      netsh wlan export profile key=clear folder=$path
      cd $path
}

#导出wifi配置文件到指定目录
netsh wlan export profile key=clear folder=$path


#定位到所有xml配置文件目录,运行导入配置命令
cd $path
FORFILES /M *.xml /C “cmd /c netsh wlan add profile @path”

由于个人能力有限,脚本还有很多不足之处,也希望有看上的大佬完善一下!

powershell脚本转exe,网上有很多工作可以完成




love521 发表于 2023-6-5 08:13

xubin1986 发表于 2023-6-4 19:56
win10早点弃用吧自从11出来没用过win10

是的我也是10的系统保存的东西多 11才装的 打算把10的WiFi密码导出 测试完毕可以用 挺好的

DYCY 发表于 2022-5-4 09:11

这个收藏了,刚好最近把WIN7换WIN10

caroer 发表于 2022-5-25 23:21

正好用到,谢谢啦,哈哈哈哈哈哈哈哈

smile4009 发表于 2022-5-26 00:30

很有用的以备不时之需了

991_lg 发表于 2022-6-12 20:04

感谢,我正好要,就下载了。会写就是好。不管怎么样,就是比手动记下要好

beenhow 发表于 2022-6-15 16:59

谢谢分享!

cfengah 发表于 2022-9-9 19:59

        楼主很棒,一起加油哦:handshake

s7133 发表于 2022-10-21 09:24

刚好用到,特来感谢

wsdhgd 发表于 2022-10-21 17:31

重装系统不用担心了

love521 发表于 2023-6-3 18:24

感激楼主的小工具 我测试一下在win10和11之间能不能互相导入导出
页: [1] 2
查看完整版本: Windows10 Wi-Fi密码备份小工具