2012-03-23 26 views
1

我正在執行批處理腳本分配,我必須從另一個腳本中調用一個腳本。無論我的講師保存這些腳本,我都需要該腳本來運行第二個腳本。我將如何做到這一點。有什麼方法可以在腳本中找到腳本的路徑並使用它來執行該文件。任何幫助都會很棒。我想我需要使用%的,但我不確定。 腳本的名稱是Hello World.bat。在命令行中查找文件路徑

如何將Hello World.bat複製到C:\如果我不知道講師將其放入哪個目錄中,我將使用哪些命令以便副本可以工作,而不管腳本位置如何。

回答

0

如果您正在執行的腳本正在調用SAME文件夾位置中的其他腳本,則可以用「%〜dp0」或「%〜dps0」作爲路徑語句的前綴,但不要在該名稱和名稱之間加一個反斜槓您正在調用的腳本。換句話說,如果script1.bat在同一個文件夾中調用script2.bat,script1.bat中的語句將引用「%〜dp0script2.bat」

+0

你能解釋一下這究竟要做%〜DP0 – batsta13 2012-03-23 09:41:36

+0

這個問題有%的良好的解釋〜DP0:http://stackoverflow.com/問題/ 1645843 /批處理文件的決心絕對路徑 - 從相對路徑和-或文件名稱 – Aaron 2012-03-23 15:57:44

1

我沒有看到「DOS」標記,但我會認爲這是現在。如果你想整個路徑,你可以這樣得到它:

echo %cd% 

如果你想剛剛過去的文件夾,這個工程(.bat文件裏):

for %%* in (.) do @echo %%~n* 

注意,從在命令行中,上面的命令將與單%的工作:

for %* in (.) do @echo %~n* 
0

約批處理文件對不起,我不熟悉,但在尼克斯的外殼,還有就是定位命令,它可以返回該文件的路徑,如果你知道文件名前實際而且名字是獨一無二的。

名= $(定位FILNAME)