批處理中,創建文件的快捷方式,比較方便的是調用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制作自解壓文件?
- 右鍵文件夾,選擇“添加到壓縮文件...”
- 在“常規”標簽項的“壓縮選項”中,勾選“創建自解壓格式壓縮文件”,此時“壓縮文件名”處的文件擴展名為exe
- 如無特殊要求或配置,點擊確定即可。否則,看下一步
- 切換到“高級”標簽,點擊“自解壓文件選項...”
- “高級自解壓選項”中,點“設置”標簽,在“解壓或運行”中輸入解壓完成后要運行的程序或批處理
- 其他的選項標簽,暫不討論。
下面結合制作自解壓的Chrome說明。
- 確保開始保存的文件
Chrome自解壓安裝.bat
在D:\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
(不影響前面批處理的結果)