[英]Run exe from bat file with command line arguments
我正在構建一個安裝軟件包,並具有一個安裝目錄(如果用戶需要/需要,顯然可以更改)。 bat安裝目錄的子目錄中有一個bat文件,它將復制文件,然后運行一個程序,然后運行另一個程序。 目前看起來像這樣。
@echo off
xcopy %~d0\dir-files\record\*.* "%~dp0input" /Y
10th-f-Downsampling.exe start /wait
cd..
start Dashboard.exe
問題是我需要將命令行參數添加到下采樣exe --max_old_space_size = 3000
問題是為了做到這一點(根據我目前對bat文件的了解,這是有限的)是創建快捷方式並以通常的Windows快捷方式輸入命令行參數。 我無法創建相對快捷方式,也不確定如何做到最好。 有任何想法嗎?
好吧,到目前為止,我已經設法創建了一個bat文件,該文件使用此腳本在同一目錄中創建了一個快捷方式。
@echo off
set SCRIPT="%TEMP%\%RANDOM%-%RANDOM%-%RANDOM%-%RANDOM%.vbs"
echo Set oWS = WScript.CreateObject("WScript.Shell") >> %SCRIPT%
echo sLinkFile = "ShortcutName.lnk" >> %SCRIPT%
echo Set oLink = oWS.CreateShortcut(sLinkFile) >> %SCRIPT%
echo oLink.TargetPath = "MyApp.exe" >> %SCRIPT%
echo oLink.WorkingDirectory ="" >> %SCRIPT%
echo oLink.Save >> %SCRIPT%
cscript /nologo %SCRIPT%
del %SCRIPT%
但是我不確定如何將命令行參數包括到該文件中……如果有人可以給出一個令人驚奇的想法。
cmd行參數以%0
, %1
, %2
的形式提供給您。 在當前代碼中使用%~d0
,您將從參數%0
中拉出letter drive
。
奇怪的是,如果我單擊該鏈接,該鏈接將起作用,但不適用於某些用戶。 如果您要復制粘貼到您喜歡的瀏覽器中,請按以下步驟操作。 正如您在鏈接中看到的那樣,這是從WindowsXP文檔中提取的,它可以解釋為什么鏈接充其量是片刻的。
編輯似乎您想調用一個程序並在調用該程序時將其傳遞給參數。 並且您希望從bat文件啟動程序。 這與我閱讀標題的方式不同。
讓我們從一些基礎知識開始...為了參考起見,我們將說我今天使用的程序稱為GetToWork.exe
我正在使用GetToWork.exe
的程序使我能夠以許多不同的方式啟動它。
--DontAskMeAnything
。 --AskMeForNewFile
。 --DoItThisWayInstead
。 現在,我不是決定我可以傳遞哪些參數,也不會決定其結果的人。 實際上,參數是由創建程序的程序員定義的。 當他編寫程序時,他決定將這些參數作為允許的參數,並且與它們相關的動作將作為他決定的動作。 程序員記錄了這些參數,現在我只想使用它們,因為它們使我的生活更輕松。
為了觸發參數行為,我需要在運行程序時將所述參數提供給程序。
如果我想觸發--DontAskMeAnything
我會編寫以下命令:
GetToWork.exe --DontAskMeAnything
如果我想觸發--AskMeForNewFile
,那么我將編寫以下命令:
GetToWork.exe --AskMeForNewFile
如果GetToWork.exe允許多個參數,則我可能會編寫如下內容:
GetToWork.exe --AskMeForNewFile --DoItThisWayInstead
現在...回到您和您的程序。 您正在使用一個名為10th-f-Downsampling.exe
。 我們,我不知道那個程序。 我不知道該程序可能使用的參數是什么。 為了讓您知道應該通過什么,您必須查找該程序的文檔。 有時只用/?
調用exe /?
足以獲取參數列表。 同樣,這取決於將程序制作為/?
的程序員/?
僅僅是程序員允許的另一個參數。 和/?
的結果/?
通常是吐出可用的參數...
讓我們分解您當前的代碼
xcopy %~d0\dir-files\record\*.* "%~dp0input" /Y
xcopy
%~d0\\dir-files\\record\\*.*
"%~dp0input"
/Y
如果要進入命令提示符並運行此命令xcopy /?
,您將會看到一段文本,向您展示如何調用程序,以及可以傳遞的參數列表。 盡管參數通常通過名稱來識別...它們的名稱意義不大,因為一旦在程序中,程序員可能已經對其進行了編碼,因此僅參數位置很重要,或者位置和名稱很重要,或者他必須遵守的任何其他業務規則。 盡管在文檔中提供了指導,但務必遵循指導。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.