0

それらを達成するための2つの要件は次のとおりです。

1) フォルダにいくつかの .xml ファイルがあります。ファイル名は abc.bcd.efgh.dep-bui.xml,cdefgh.abc.efgh.dep-bui.xml,wxyzs.cdrf.cba.dep-bui.xml のようなファイル名をabc.bcd.efgh.dep-bui.xml , cdefgh.abc.efgh.dep-bui.xml , wxyzs.cdrf.cba.dep-bui.xmlフォルダパスから取得しました次のコードを使用して

for /R %%K in (*.dep-bui.xml) do (
echo Enter the port number for the service %%~nK

ファイル名の先頭から の最初の出現までの単語を取得したい。(ファイル名の最初の要素) 明らかに、上記のファイル名から abc,cdefgh,wxyzs のようにする必要があります。ファイル名の最初の要素は固定長ではないことを考慮してください。達成する方法を教えてください。

2) .properties ファイル (名前 = 値のペア) があり、そのプロパティ ファイルからすべての行を読み取ることができます。実際には、正規表現を使用してプロパティ名の一部の存在を確認するようなシナリオがあります。プロパティが存在する場合、ファイルを書き換えずにその特定のプロパティの値を変更する必要があります。明らかに、httpconnector_port_httpConnector_java=9090.properties ファイルにプロパティがあります。httpconnector_port_* の存在を確認したい。

(Because httpconnector_port_ is constant and httpConnector_java varies from one project to other project.)

存在する場合は、そのプロパティの値を変更したい (この場合は 9090)

どうすればそれを達成できますか?

私を助けてくれませんか?

4

2 に答える 2

0

による提案(Q2):

sed -i.bak "s/^\(httpconnector_port_httpConnector_java\)\W.*/\1=9090/" "%propertiesFile%"

Windows用のsedをダウンロード

于 2013-05-22T11:12:37.707 に答える