使用场景:
我是一个IT工作者,经常会带着笔记本去用户那里干活,连接用户的wifi,但不知哪天自己重装了系统,之前的WIFI密码都忘了,又得重新输入,自己的还好,用户的wifi配置没了,还得找用户再要,比较麻烦,所以利用Windows的一些脚本,可以自动备份所有的wifi配置文件,当重装系统后也能够快速恢复,我觉得还是非常便利的。
由于只在Windows10操作系统中测试,其它操作系统不一定有效
先上源码:(主要还是利用Powershell脚本,再转成exe)
[PowerShell] 纯文本查看 复制代码 <#
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 = [Reflection.Assembly]::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)
[Void]$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 ([string]$Message,
[string]$WindowTitle,
[System.Windows.Forms.MessageBoxButtons]$Buttons = [System.Windows.Forms.MessageBoxButtons]::OK,
[System.Windows.Forms.MessageBoxIcon]$Icon = [System.Windows.Forms.MessageBoxIcon]::None)
Add-Type -AssemblyName System.Windows.Forms
return [System.Windows.Forms.MessageBox]::Show($Message, $WindowTitle, $Buttons, $Icon)
}
Read-MessageBoxDialog -Message "配置导出完成,请确认之前提供的配置导出路径是否存在xml配置文件" -WindowTitle "Wi-Fi配置导出确认" -Buttons OK -Icon Information
以上代码是带交互的,如果不希望交互可以将配置文件路径写死为自己电脑上的路径,配合操作系统的计划任务,定期执行备份
[PowerShell] 纯文本查看 复制代码 $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,网上有很多工作可以完成
Wi-Fi-tools.rar
(6.07 KB, 下载次数: 140)
|