[英]How to concatenate strings in windows batch file for loop?
我熟悉 Unix shell 腳本,但不熟悉 Windows 腳本。
我有一個包含 str1、str2、str3...str10 的字符串列表。 我想這樣做:
for string in string_list
do
var = string+"xyz"
svn co var
end
我確實找到了一些描述如何在批處理文件中連接字符串的線程。 但它以某種方式在 for 循環中不起作用。 所以我仍然對批處理語法感到困惑。
試試這個,用字符串:
set "var=string1string2string3"
並使用字符串變量:
set "var=%string1%%string2%%string3%"
批量你可以這樣做:
@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 | ForEach-Object {
$var = "${_}xyz" # alternatively: $var = $_ + 'xyz'
svn co $var
}
同樣,如果您在循環中的其他地方不需要$var
,這可以簡化:
$string_list = 'str1', 'str2', 'str3', ... 'str10'
$string_list | ForEach-Object { svn co "${_}xyz" }
一個非常簡單的例子:
SET a=Hello
SET b=World
SET c=%a% %b%!
echo %c%
結果應該是:
Hello World!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.