我對Unix shell腳本很熟悉,但是對於windows腳本來說很陌生。如何連接windows批處理文件中的字符串以進行循環?
我有一個包含str1,str2,str3 ... str10的字符串列表。我想這樣做:
for string in string_list
do
var = string+"xyz"
svn co var
end
我發現一些線程描述如何連接批處理文件中的字符串。但它以某種方式不適用於循環。所以我仍然對批處理語法感到困惑。
我對Unix shell腳本很熟悉,但是對於windows腳本來說很陌生。如何連接windows批處理文件中的字符串以進行循環?
我有一個包含str1,str2,str3 ... str10的字符串列表。我想這樣做:
for string in string_list
do
var = string+"xyz"
svn co var
end
我發現一些線程描述如何連接批處理文件中的字符串。但它以某種方式不適用於循環。所以我仍然對批處理語法感到困惑。
在批處理,你可以做這樣的:
@echo off
setlocal EnableDelayedExpansion
set "string_list=str1 str2 str3 ... str10"
for %%s in (%string_list%) do (
set "var=%%sxyz"
svn co "!var!"
)
如果你不這樣做需要循環中其他地方的變量!var!
,您可以簡化爲
@echo off
setlocal
set "string_list=str1 str2 str3 ... str10"
for %%s in (%string_list%) do svn co "%%sxyz"
然而,像CB我寧願PowerShell中,如果在所有可能的:
$string_list = 'str1', 'str2', 'str3', ... 'str10'
$string_list | % {
$var = "${_}xyz" # alternatively: $var = $_ + 'xyz'
svn co $var
}
同樣,如果你不需要$var
其他地方的循環,這可能被簡化:
$string_list = 'str1', 'str2', 'str3', ... 'str10'
$string_list | % { svn co "${_}xyz" }
[如何將變量與字符串或變量連接成批處理文件]可能的重複(http://stackoverflow.com/questions/9349027/how-to-concatenate-variable-with-string-or-variable-in-batch-文件) – jeb