を連結し、私はこのようにフォーマットされたカンマ区切りの文字列を持っている:勝利バッチ - スプリット&
host1.mydomain.net,host2.mydomain.net,host3.mydomain.net
を私はHTTP」先頭に追加する(追加のソフトウェアをインストールしたり、PowerShellを使用することはできません)バッチを使用しようとしています:// "を追加し、各ホスト名に" 8080 "を追加して、それらをすべて一緒に文字列にします。以下は
http://host1.mydomain.net:8080,http://host2.mydomain.net:8080,http://host3.mydomain.net:8080
私は、新しいものを作成する文字列を分割し、試してみたが、私は、各ホスト名を抽出することができた一方で、私はそれらを連結するように見えることができないだけで1つの方法です。また、 "http:..."という文字列の先頭に ":8080"を末尾に付け、それぞれのカンマを ":8080、http://"に置き換えることを考えましたが、 。これがLinuxの場合、& sedはかなり簡単ですが、バッチ処理はいつも厳しいものでした。
@echo off
set themes=Host1,Host2,Host3
set NEWSTR1=
echo list = "%themes%"
for %%a in ("%themes:,=" "%") do (
echo hostname is %%~a
if NOT DEFINED NEWSTR1 (
set NEWSTR1=remote://%%~a:4447
echo.%NEWSTR1%
) ELSE (
set NEWSTR1=%NEWSTR1%,remote://"%%a":4447
echo In the else %NEWSTR1%)
)
echo %NEWSTR1%
[遅延拡張](http://stackoverflow.com/a/30284028/2152082)を読んで、なぜコードが機能しないのかを理解してください。論理自体は大丈夫だと思われる。 – Stephan