批处理中,创建文件的快捷方式,比较方便的是调用vbs脚本。结合 for 命令,可以批量创建多个文件的快捷方式。利用Winrar软件的功能,能比较方便的制作自解压安装软件。
批处理文件的文件编码为ANSI,或GB2312。否则中文会乱码。
单个文件创建快捷方式
假如用MyChrome将Chrome 75绿色便携化到D:programfilesChrome75文件夹,可执行的文件是MyChrome.exe。下面创建MyChrome.exe的快捷方式,并将其发送到桌面,同时在程序组中创建“谷歌浏览器”,其中包括MyChrome.exe快捷方式。
@echo off
::如无:快捷文件以.lnk或.url结尾
setlocal EnableDelayedExpansion
cd Chrome75
set WrkDir=%~dp0
set "LinkName=谷歌浏览器.lnk"
set filname=mychrome.exe
set ThePath=%~dp0%mychrome.exe
mshta VBScript:Execute("Set Shell=CreateObject(""WScript.Shell""):Set Link=Shell.CreateShortcut(""!LinkName!""):Link.TargetPath=""!ThePath!"":Link.WorkingDirectory=""!WrkDir!"":Link.Save:close"^)
if exist "C:ProgramDataMicrosoftWindowsStart MenuPrograms谷歌浏览器" (
del /Q "C:ProgramDataMicrosoftWindowsStart MenuPrograms谷歌浏览器"
) else (
mkdir "C:ProgramDataMicrosoftWindowsStart MenuPrograms谷歌浏览器"
)
copy /y 谷歌浏览器.lnk "%USERPROFILE%Desktop" >nul 2>nul
move /y *.lnk "C:ProgramDataMicrosoftWindowsStart MenuPrograms谷歌浏览器" >nul 2>nul
因为要在后面的自解压文件用,将该批处理命名保存为“Chrome自解压安装.bat”,放置于MyChome.exe所在的目录。点击运行就能达到设计的要求。
批处理中,直接在当前目录创建MyChrome.exe的快捷方式“谷歌浏览器.lnk”。接下来创建开始菜单的程序组。将快捷方式复制到桌面,再将快捷方式移动到程序组的文件夹中。
也可以直接在桌面创建快捷方式,然后复制快捷方式到程序组的文件中。
setlocal EnableDelayedExpansion
必须有,否则会提示“快捷方式文件以.lnk或.url结尾”的错误提示。
简单的方式
如果只是要桌面创建MyChrome.exe的快捷方式,最简单方式如下(注意不需要setlocal EnableDelayedExpansion
):
@echo off
mshta VBScript:Execute("Set a=CreateObject(""WScript.Shell""):Set b=a.CreateShortcut(a.SpecialFolders(""Desktop"") & ""谷歌浏览器.lnk""):b.TargetPath=""%~dp0MyChrome.exe"":b.WorkingDirectory=""%~dp0"":b.Save:close")
多个文件批量创建快捷方式
假设,要创建"英雄无敌魔力觉醒"中的部分文件的快捷方式。要求:
- 桌面是主程序
h3era HD.exe
的快捷方式 - 程序组"魔力觉醒"中包含如下文件的快捷方式:
h3era HD.exe
h3era_34M HD.exe
h3era_43M HD.exe
ToolsMod Managermmanager.exe
ToolsERM&ERA帮助宝典v2.0 (测试).chm
HD3_Launcher.exe
魔力觉醒的文件夹为D:ProgramFilesgsHero3_The_Magic_Awakens
,也就是h3era HD.exe
(或h3era.exe
/Heroes3.exe
)所在的文件夹。
下面的批处理或txt文件都保存在魔力觉醒文件夹中。
MagAwaken.txt
先建立一个txt文件"MagAwaken.txt",内容如下:
魔力觉醒:h3era HD.exe
魔力觉醒34M:h3era_34M HD.exe
魔力觉醒43M:h3era_43M HD.exe
MOD管理器:ToolsMod Managermmanager.exe
ERM&ERA帮助宝典v2:ToolsERM&ERA帮助宝典v2.0 (测试).chm
高清补丁:HD3_Launcher.exe
批处理MagAwaken.bat
批处理文件MagAwaken.bat
,内容如下:
@echo off
rem 快捷方式 by Castle@wakeofgods.com(开心鲨鱼@qq)
color 0a
title “英雄无敌WOG之魔力觉醒” 快捷方式 by Castle@wakeofgods.com(开心鲨鱼@qq)
cd Hero3_The_Magic_Awakens
set WrkDir=%~dp0
setlocal EnableDelayedExpansion
for /f "delims=: tokens=1,*" %%a in (MagAwaken.txt) do (
set LinkName=%%a.lnk
set filname=%%b
set ThePath=%~dp0%%b
mshta VBScript:Execute("Set Shell=CreateObject(""WScript.Shell""):Set Link=Shell.CreateShortcut(""!LinkName!""):Link.TargetPath=""!ThePath!"":Link.WorkingDirectory=""!WrkDir!"":Link.Save:close"^)
)
if exist "C:ProgramDataMicrosoftWindowsStart MenuPrograms英雄无敌WOG之魔力觉醒" (
del /Q "C:ProgramDataMicrosoftWindowsStart MenuPrograms英雄无敌WOG之魔力觉醒"
) else (
mkdir "C:ProgramDataMicrosoftWindowsStart MenuPrograms英雄无敌WOG之魔力觉醒"
)
copy /y 魔力觉醒.lnk "%USERPROFILE%Desktop" >nul 2>nul
move /y *.lnk "C:ProgramDataMicrosoftWindowsStart MenuPrograms英雄无敌WOG之魔力觉醒" >nul 2>nul
在Winrar自解压文件中的应用
如何用Winrar制作自解压文件?
- 右键文件夹,选择“添加到压缩文件...”
- 在“常规”标签项的“压缩选项”中,勾选“创建自解压格式压缩文件”,此时“压缩文件名”处的文件扩展名为exe
- 如无特殊要求或配置,点击确定即可。否则,看下一步
- 切换到“高级”标签,点击“自解压文件选项...”
- “高级自解压选项”中,点“设置”标签,在“解压或运行”中输入解压完成后要运行的程序或批处理
- 其他的选项标签,暂不讨论。
下面结合制作自解压的Chrome说明。
- 确保开始保存的文件
Chrome自解压安装.bat
在D:programfilesChrome75
文件夹。 - 进入
D:programfiles
文件夹,右键其中的Chrome75
文件夹,如上面步骤所示。 - 在上面的第5个步骤中,设置中输入
Chrome75Chrome自解压安装.bat
即可。 - 得到自解压文件
D:programfilesChrome75.exe
- 测试:双击Chrome75.exe,点“解压”(默认的“目标文件夹”是
D:
),将解压文件并得到D:Chrome75
,且生成了快捷方式和程序组。
上面的补充说明:
- 解压时,Winrar会进入指定的“目标文件夹”,此处默认的“目标文件夹”是
D:
。 - 根据压缩时的设置,运行指定的文件。此处是运行
Chrome75Chrome自解压安装.bat
。注意,位置仍然在D:
,没有进入D:Chrome75
文件夹。所以批处理中,并没有注释掉cd Chrome75
(不影响前面批处理的结果)