批处理创建快捷方式

批处理中,创建文件的快捷方式,比较方便的是调用vbs脚本。结合 for 命令,可以批量创建多个文件的快捷方式。利用Winrar软件的功能,能比较方便的制作自解压安装软件。

批处理文件的文件编码为ANSI,或GB2312。否则中文会乱码。

单个文件创建快捷方式

假如用MyChrome将Chrome 75绿色便携化到D:\programfiles\Chrome75文件夹,可执行的文件是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:\ProgramData\Microsoft\Windows\Start Menu\Programs\谷歌浏览器" (
  del /Q "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\谷歌浏览器"
) else (
  mkdir "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\谷歌浏览器"
)

copy /y 谷歌浏览器.lnk "%USERPROFILE%\Desktop\" >nul 2>nul
move /y *.lnk "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\谷歌浏览器\" >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
    • Tools\Mod Manager\mmanager.exe
    • Tools\ERM&ERA帮助宝典v2.0 (测试).chm
    • HD3_Launcher.exe

魔力觉醒的文件夹为D:\ProgramFiles\gs\Hero3_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管理器:Tools\Mod Manager\mmanager.exe
ERM&ERA帮助宝典v2:Tools\ERM&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:\ProgramData\Microsoft\Windows\Start Menu\Programs\英雄无敌WOG之魔力觉醒" (
  del /Q "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\英雄无敌WOG之魔力觉醒"
) else (
  mkdir "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\英雄无敌WOG之魔力觉醒"
)

copy /y 魔力觉醒.lnk "%USERPROFILE%\Desktop\" >nul 2>nul
move /y *.lnk "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\英雄无敌WOG之魔力觉醒\" >nul 2>nul

在Winrar自解压文件中的应用

如何用Winrar制作自解压文件?

  1. 右键文件夹,选择“添加到压缩文件...”
  2. 在“常规”标签项的“压缩选项”中,勾选“创建自解压格式压缩文件”,此时“压缩文件名”处的文件扩展名为exe
  3. 如无特殊要求或配置,点击确定即可。否则,看下一步
  4. 切换到“高级”标签,点击“自解压文件选项...”
  5. “高级自解压选项”中,点“设置”标签,在“解压或运行”中输入解压完成后要运行的程序或批处理
  6. 其他的选项标签,暂不讨论。

下面结合制作自解压的Chrome说明。

  • 确保开始保存的文件Chrome自解压安装.batD:\programfiles\Chrome75文件夹。
  • 进入D:\programfiles\文件夹,右键其中的Chrome75文件夹,如上面步骤所示。
  • 在上面的第5个步骤中,设置中输入Chrome75\Chrome自解压安装.bat即可。
  • 得到自解压文件D:\programfiles\Chrome75.exe
  • 测试:双击Chrome75.exe,点“解压”(默认的“目标文件夹”是D:\),将解压文件并得到D:\Chrome75,且生成了快捷方式和程序组。

上面的补充说明:

  • 解压时,Winrar会进入指定的“目标文件夹”,此处默认的“目标文件夹”是D:\
  • 根据压缩时的设置,运行指定的文件。此处是运行Chrome75\Chrome自解压安装.bat。注意,位置仍然在D:\,没有进入D:\Chrome75文件夹。所以批处理中,并没有注释掉cd Chrome75(不影响前面批处理的结果)

参考文献

  1. 批处理创建文件桌面快捷方式
  2. 批处理实现批量创建快捷方式
posted @ 2019-07-25 22:49  hzworld  阅读(6066)  评论(0编辑  收藏  举报