1
現在我有一個批處理文件,它將PATH變量設置爲所有必需的目錄(實際上有更多必需的目錄,我只是把它們出這樣的代碼片段不會太長)使用傳入參數值設置批處理文件中的PATH變量
@echo off
set PATH=D:/src/trunk/build/bin;D:/src/trunk/build/bin/CoreTools;D:/src/trunk/build/bin/Plugins/Extensions;D:/src/trunk/build/bin/Plugins/CustomUI
set DEBRIEF_INSTALL_DIR=D:/src/trunk/DebriefSuite/D3D_Installation
set READERS=D:/src/trunk/build/bin/CoreTools/Readers
set BINARY_DIR=D:/src/trunk/build
cd D:/src/trunk/build/bin
start PROGRAM.exe --ConfigFile="D:/src/trunk/DebriefSuite/Installation/config/Projects/config.xml"^
--Mode-File="D:/src/trunk/DebriefSuite/Installation/config/Projects/Common/anotherconfig.xml"^
--Env:Bin="D:/src/trunk/build/bin"
cd D:/src/trunk
它工作正常,但所有的目錄是硬編碼。這需要能夠爲可能在不同位置具有其根目錄的其他計算機工作。我需要能夠傳入根目錄(類似於「D:\ different_root_location」),並將其替換爲此代碼中當前顯示爲「D:\ src \ trunk」的每個位置。問題是,我不確定這樣的語法會是什麼。我是編寫批處理文件的新手。我試圖做類似
SET ROOTDIR=%1 .....
然後
set PATH=%ROOTDIR%/build/bin;%ROOTDIR%/build/bin/CoreTools;%ROOTDIR%/build/bin/Plugins/Extensions;%ROOTDIR%/build/bin/Plugins/CustomUI ..........
start PROGRAM.exe --ConfigFile="%ROOTDIR%/DebriefSuite/Installation/config/Projects/config.xml"^
,但沒有奏效。我不確定如何使這項工作!另外,任何關於編寫批處理文件的良好信息源的鏈接都將非常有用,因爲我剛開始!
你能澄清你的意思是通過它沒有工作?我只是嘗試了一個批處理文件,確實如此,它似乎工作正常。請注意,您可以在批處理文件的其餘部分中使用%1而不是%ROOTDIR%... – DotThoughts
我不確定爲什麼,但PROGRAM.exe(需要所有以前設置的工作)沒有運行就像它在硬編碼路徑時所做的一樣。我想知道是否有其他問題不是這種語法。 – Alissa
你確定你需要所有這些文件夾在同一棵樹,路徑? – foxidrive