Windows Note
Windows静默安装 第三方项目(不推荐):Silent Install > https://www.silentinstall.org/
命令行(推荐):
一般来说,不同的软件的封装类型都有固定的静默安装命令。
转载来源:https://www.cnblogs.com/toor/p/4198061.html
查看软件的封装类型
双击setup.exe
,在弹出窗口的左上角单击,选择“About Setup
”可查看软件的封装类型。然后根据其封装类型选择对应的静默安装命令。这个步骤可适用大部分的软件,不排除有些软件是比较特殊的。
Microsoft Windows Installer
: 如果某个软件是用 Windows Installer打包的,那你就应该能在文件夹中看到 *.msi 文件。这是最典型的特征,这些文件通常可以使用 /QB
和 /QN
参数进行自动安装。
/qb
会在窗口中显示一个基本的安装进程。
/qn
参数则不会显示任何窗口,直接在后台自动安装。
为了阻止某些程序安装成功后自动重启动,你可以在 /qn
或者 /qb
参数后使用REBOOT=Suppress
标记。 例如:安装虚拟光驱 DaemonTools:msiexec /i dtools.msi /qb REBOOT=SUPPRESS
InstallShield with MSI
: InstallShield with MSI 制作的安装文件,请使用类似:setup.exe /s /v" /qb
来安装。
WISE Installer
: 用WISE技术打包的软件在安装的时候可以选择使用 /s
参数进行自动安装。
Inno Setup
: Inno Setup 制作的安装文件,请使用:setup.exe /sp- /silent /norestart
NullSoft Installation System
: 使用 NSIS(NullSoft Installation System)制作的安装文件,可用 /S
(注意大写)来进行静默安装(“S”是大小写敏感的)。 例如:Setup.exe /S
; 也可以用 /D参数选择将要安装的目标分区和文件夹,例如:Setup.exe /S /D=E:\Software\QQ2007
Wise Installation Professional
: 制作的安装文件,可用 /silent
参数进行静默安装。
WinRAR
: 所有WinRAR做的自解压安装包可以使用 /s
参数进行静默安装。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 常用软件的例子 TotalCommand 用解压缩软件解压tcm801x32.exe文件(此处以32 位的系统为例子) 修改解压出来的INSTALL.INF文件,一般改 username=* auto =1 hide=1 但是我想指定目录静默安装呢,怎么办? 我一不小心解压tcm801x64.exe文件,查看解压出来的INSTALL.INF文件,卧槽,一看:作者,你实在是太调皮了。 里面的参数比32 位解压出来的文件要详细很多,可以直接拿64 位的INSTALL.INF文件修改,然后替换32 位的INSTALL.INF文件。注意有些参数值带有“64 ”,在32 位的安装过程中是不会创建带有“64 ”字眼的文件,去掉“64 ”字符串即可。 [Destination] Dir=c:\mytotalcmd Ini=wincmd.ini,Configuration,InstallDir everything exerything_setup.exe /S /D=D:\Program Files\Everything 射手影音播放器 射手影音播放器_3.7 .0 .2437 .exe /S /D=D:\Program Files\SPlayer 福昕阅读器 福昕阅读器_6.0 .4 .619 .exe /sp- /verysilent /dir="D:\Program Files\Foxit Software\Foxit Reader" /NORESTART 资料参阅:http: UltraISO setup.exe /sp- /verysilent /dir="D:\Program Files\UltraISO" Listary Listary.exe /sp- /verysilent /dir=":\Program Files\Listary" 修改软件默认安装路径 修改注册表:开始→运行→regedit打开注册表:展开“HKEY_LOCAL_MACHINE\software\Microsoft\Windows\Current Version“项。在右侧窗口找到“ProgramFilesDir”值,改成你想要的目录,重新启动电脑后,也可以将默认安装目录安装到之前指定的文件夹中了
其他:
Microsoft.Net:dotnet-sdk-3.1.301-win-x64.exe /install /quiet /norestart
(参考:https://docs.microsoft.com/en-us/dotnet/core/install/windows?tabs=net60 )
修改用户文件夹名称
启用管理员账户。找到“此电脑 ”右击,点击管理 。在左边的“计算机管理 ”中找到“本地用户组 ”,点击打开右侧可见Administrator用户与当前用户,选中Administrator用户右击“属性 ”,将“账户已禁用 ”前面的√去掉,点击确定 。
登录管理员账户,修改用户文件夹名。
修改注册表。在注册表的 计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Profilelist
中找到要修改的用户目录,找到ProfileImagePath
属性,修改即可。
注销管理员账户,登录用户,禁用管理员账户。
验证文件Hash 打开Powershell:
Get-FileHash C:\Users\用户1\Downloads\Contoso8_1_ENT.iso
命令行设置环境变量 1 2 3 4 5 6 7 8 9 setx /m path "%path%;C:\WebDriver\bin\" netsh wlan show profiles netsh wlan show profiles name ="WiFi名称" key =clear netsh wlan show profile * key =clear 打开注册表:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Profilelist 修改对应的ProfileImagePath路径。注销后进入会提示登录失败,修改用户文件夹名称即可。
Windows命令行查看Wifi信息 1 2 3 netsh wlan show profiles netsh wlan show profiles WiFi名称 key =clear
BAT & VBS Notes BAT检测是否有管理员权限以及提权运行 提权运行推荐 使用Gsudo 。或者下面这个脚本:
1 2 3 4 5 6 7 8 9 10 11 12 @echo off&color 17 if exist "%SystemRoot%\SysWOW64" path %path%;%windir%\SysNative;%SystemRoot%\SysWOW64;%~dp0bcdedit >nul if '%errorlevel%' NEQ '0' (goto UACPrompt) else (goto UACAdmin):UACPrompt %1 start "" mshta vbscript:createobject("shell.application" ).shellexecute("" "%~0" "" ,"::" ,,"runas" ,1 )(window .close)&exit exit /B :UACAdmin cd /d "%~dp0" ::echo 当前运行路径是:%CD% ::下面就是你提权后运行的内容 ........
检测可以使用这个:
1 whoami /groups | find \"S-1-16-12288\" && echo 如果是管理员,则会运行这句话。
BAT时间延时
BAT调用另一个BAT文件或者其他文本文件 1 2 3 4 5 CALL xxx.bat:: 临时将conf文件转为bat后执行 copy /y xxx.conf tmpScript.bat >nul 2 >nul CALL tmpScript.bat
BAT检测.Net版本 1 2 ::参考:https://www.cnblogs.com/jiduoduo/p/6529750.html reg query "HKLM\Software\Microsoft\NET Framework Setup\NDP" /s /v version | findstr /i version | sort /+26 /r
VBS支持拖拽文件以及拖拽文件路径问题 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 参考: https://www.jb51.net/article/175941.htm http://www.bathome.net/thread-37815-1-1.html If wscript.Arguments.count=0 then msgbox "拖拽文件到本vbs文件" ,0 ,"提示" End if for jb=0 to wscript.Arguments.count-1 strPath=wscript.Arguments(jb) msgbox strPath next For Each ar In WScript.Argumentsfilename=ar Next Msgbox filenameDim WshShellSet WshShell = WScript.CreateObject ("Wscript.Shell" )WshShell.CurrentDirectory = WScript.Arguments(0 ) & "\.."
VBS执行命令 1 2 3 4 Dim WshShellSet WshShell = WScript.CreateObject ("Wscript.Shell" )a = WshShell.run ("xxx.bat" ,0 ,true )
VBS写入文件 1 2 3 4 5 6 7 Dim fso,tfSet fso = CreateObject ("Scripting.FileSystemObject" )Set tf = fso.CreateTextFile("xxx.txt" , True ) tf.WriteLine("写入的内容" ) tf.close
If you like this blog or find it useful for you, you are welcome to comment on it. You are also welcome to share this blog, so that more people can participate in it. If the images used in the blog infringe your copyright, please contact the author to delete them. Thank you !