[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[问题求助] 如何创建一个绿色软件启动脚本VBS或BAT

本帖最后由 kaze 于 2018-11-19 13:58 编辑

问题:如何创建一个绿色软件启动脚本(VBS或者BAT批处理),适用于部分绿色便携软件启动,或者移动某些软件的缓存到内存盘。(重装/还原系统无需安装直接点击运行)
1.检查符号链接是未创建然后创建(是文件夹直接删除创建符号链接,例:网易云音乐的创建批处理)
mklink /d "%LocalAppData%\Netease" "D:\Program Files\##\AppData\Local\Netease"
mklink /d "C:\ProgramData\NetEaseWinDA" "D:\Program Files\##\ProgramData\NetEaseWinDA"
2.检查程序文件夹的注册表文件是否已经导入系统,然后把文件导入注册表(例:QQMusic.reg,直接引用文件)

3.创建桌面快捷方式(指向该脚本本身,图标为需要启动的程序本身,弄不了的话可以换成程序文件夹内的.ico已创建文件,要求移动该快捷方式到其他文件夹不会重复生成)
4.最后的结果:打开图标快捷方式检查1.2.(有些软件需要第一步,有些只需第二部,有些同时需要一二步)3.然后完成相应步骤后启动程序。

已经按照此方法绿色化软件:NeoDownloader,Total Uninstall,QQMusic,RStudio,网易云音乐,等,(绝对的原版安装后的文件,无修改,无病毒)

TOP

本帖最后由 kaze 于 2018-11-19 13:57 编辑

暂时的完成VBS代码,例:QQ音乐,问题是判断的是文件夹是否存在,(而不是判断符号链接),是需要管理员权限CMD创建符号链接,需要点击确认。(希望有人能够解决该问题!)
On Error Resume Next
Dim fso
Set fso=CreateObject("Scripting.FileSystemObject")        
If fso.folderExists("C:\Users\Hello\AppData\Roaming\Tencent\QQMusic") Then         
Else
Set objShell = CreateObject("Shell.Application")
objShell.ShellExecute "cmd.exe","/c mklink /d ""%AppData%\Tencent\QQMusic"" ""D:\Program Files\##\AppData\Roaming\Tencent\QQMusic""","","runas",0
End If
Err.Clear
Set oWsh = CreateObject("WScript.Shell")
sRegValue = oWsh.RegRead("HKEY_CURRENT_USER\Software\Tencent\QQMusic\RunCountAfterInstall")
If Err.Number <> 0 Then
oWsh.Run "REG.EXE IMPORT QQMusic.reg",0,True
End If
oWsh.Run ("QQMusic.exe")

附:获取软件修改注册表的方法使用Total Uninstall监控导出成.REG

TOP

从老外处爬了一段代码,连一闪而过也没了,完美实现静默导入注册表
oWsh.Run "REG.EXE IMPORT Data\settings\NeoDownloaderPortable.reg",0,True

TOP

本帖最后由 kaze 于 2018-11-18 16:31 编辑

创建快捷方式:问题直接使用exe创建图标没有成功??
set creatvbs = WScript.CreateObject("WScript.Shell")
strDesktop = creatvbs.SpecialFolders("Desktop")
app_path = creatvbs.CurrentDirectory + "\App\NeoDownloader\NeoDownloader.exe"
set oShellLink = creatvbs.CreateShortcut(strDesktop & "\NeoDownloader.lnk")
oShellLink.TargetPath = creatvbs.CurrentDirectory + "\NeoDownloader.vbs"
oShellLink.IconLocation = "app_path,0"
oShellLink.Description = "NeoDownloader"
oShellLink.WorkingDirectory = creatvbs.CurrentDirectory
oShellLink.Save

TOP

折腾半天,弄了一个VBS脚本,就是导入注册表的时候有黑窗口一闪而过,以NeoDownloader为例:
也未解决第一个问题:检查符号链接是未创建然后创建
不太完美,寻找静默导入注册表,无需确认的方法。(WIN10系统)
创建快捷方式可以另外一段代码文件备用。
On Error Resume Next
Err.Clear
Set oWsh = CreateObject("WScript.Shell")
sRegValue = oWsh.RegRead("HKEY_CURRENT_USER\Software\Neowise\NeoDownloader\DefDestDir")
If Err.Number <> 0 Then
oWsh.Run ("REG IMPORT Data\settings\NeoDownloaderPortable.reg")
End If
oWsh.Run ("App\NeoDownloader\NeoDownloader.exe")

TOP

返回列表