我使用一個批處理腳本start.bat來運行我的程式。我為此創建了一個快捷方式,如下所示:
[Icons]
名稱。"{組}{#MyAppName}"; 檔案名: "{app}start.bat";
IconFilename: "{app}{#MyAppIcoName}"; Tasks: desktopicon
名稱。"{userdesktop}{#MyAppName}";檔案名:"{app}start.bat"。
IconFilename: "{app}{#MyAppIcoName}"; Tasks: desktopicon
為了讓用戶被允許將批處理檔案的快捷方式拖到任務欄上(Windows 10),我必須將快捷方式路徑從E:SoftMyProgramstart.bat修改為cmd /c E:SoftMyProgramstart.bat。但我不能只把路徑改為Filename: "cmd /c {app}start.bat";它不作業。有什么想法嗎?
uj5u.com熱心網友回復:
cmd /c E:SoftMyProgramstart.bat
上述命令執行cmd.exe程式,并以/c E:SoftMyProgramstart.bat作為其引數。
在Inno Setup Icons部分,您使用Parameters引數指定引數:
[Icons]
名稱。"{userdesktop}{#MyAppName}"; 檔案名:"cmd"。
引數。"/c E:SoftMyProgramstart.bat"。
IconFilename: "{app}{#MyAppIcoName}"; Tasks: desktopicon
- 雖然沒有硬編碼
cmd,但你應該使用{cmd}常數。 - 類似地,我假設不使用
E:SoftMyProgram,而是使用{app}。 - 將路徑包成雙引號,以防它包含空格。
- 在某些情況下,批處理檔案可能被設計成只在其目錄下執行時才起作用。為此,添加
WorkingDir引數。
[Icons]
名稱。"{userdesktop}{#MyAppName}";檔案名:"{cmd}"。
引數。"/c ""{app}start.bat""; WorkingDir: "{app}"
IconFilename: "{app}{#MyAppIcoName}"; Tasks: desktopicon
uj5u.com熱心網友回復:
正如Martin所建議的https://stackoverflow.com/a/69083021/13116250這里有一個修改腳本的方案:
名稱。"{組}{#MyAppName}"; 檔案名:{cmd}; 引數。"/c cd /d ""{app}"" && launch.bat"; IconFilename: "{app}{#MyAppIcoName}"; Tasks: desktopicon
名稱。"{userdesktop}{#MyAppName}"; 檔案名:{cmd}; 引數。"/c cd /d ""{app}"" && launch.bat"; IconFilename: "{app}{#MyAppIcoName}"; Tasks: desktopicon
你應該首先cd到app目錄,然后運行一個批處理檔案。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/315745.html
標籤:
