如何使用set變量將文件複製到bat文件中。在複製命令中使用設置變量
[run.bat中]
set MY_WORKSPACE=workspace1.0.1
copy /Y /V D:\%MY_WORKSPACE%\webapp\target\app-generic.war C:\Opt\jboss-4.2.3.GA\server\default\deploy\
在上面的例子中,%MY_WORKSPACE%是無效的,但是我可以通過使用 '迴響'
如何使用set變量將文件複製到bat文件中。在複製命令中使用設置變量
[run.bat中]
set MY_WORKSPACE=workspace1.0.1
copy /Y /V D:\%MY_WORKSPACE%\webapp\target\app-generic.war C:\Opt\jboss-4.2.3.GA\server\default\deploy\
在上面的例子中,%MY_WORKSPACE%是無效的,但是我可以通過使用 '迴響'
這是您向我們展示的整批文件嗎?
我有一種模糊的感覺,你在if
的內部使用set
和copy
或者帶有塊的類似語句,例如,
if foo==bar (
set MY_WORKSPACE=workspace1.0.1
copy ...
)
在這種情況下,需要爲變量的變化延遲的擴展,因爲括號內的塊進行解析,作爲單個命令和奔跑的命令不是當所有變量在解析時間取代,生效。因此,塊運行後,%MY_WORKSPACE%
將爲空。
您可以通過使用
在您的批處理文件的頂部,使用!MY_WORKSPACE!
,而不是%MY_WORKSPACE%
這將只是之前運行的命令,而不是在解析擴展變量解決這個問題。
您的語法是絕對正確的。 「set」以及「%MY_WORKSPACE%」。問:你真的有一個目錄「d:\ workspace1.0.1」嗎?問:你得到了什麼確切的錯誤? – paulsm4 2012-04-18 07:24:56
就像喬伊問:問:你給我們展示的是整批文件嗎? – paulsm4 2012-04-18 16:03:43