0

バッチ ファイルを使用して、パラメーターの 1 つを解析する必要があります。結果は、バッチ ファイル内のコマンドの 1 つに送られます。

したがって、バッチ ファイルのパラメータの 1 つは次のようになります。

Lorem [ABC-1234] ipsum

バッチ ファイル内のコマンドの 1 つは、上記のパラメーターの ABC-1234 値を必要とします。regexp の使用法は非常に優れています。FINDSTR はそれを見つけますが、パターンが見つかった場合は入力を返します。

echo Lorem [ABC-1234] ipsum | findstr /R "\[[A-Z]*\-[0-9]*\]"

これは以下を返します:

echo Lorem [ABC-1234] ipsum

しかし、私は取得したいです

ABC-1234

4

2 に答える 2

2

の前に他の文字[や文字がないと仮定すると、FOR/Fを使用できます][ABC-1234]

for /f "eol=[ tokens=2 delims=[]" %%A in ("Lorem [ABC-1234] ipsum") do echo %%A
于 2012-10-01T14:49:58.017 に答える
0

findstr は、検索自体のために、結果をトリミングする必要がある文字列だけでなく、行全体を返します

[A-Z]*-[0-9]* 

十分か、それ以上だろう

([A-Z]*-[0-9]*)

これはすでに上記のように機能します:

echo Lorem [ABC-1234] ipsum | findstr /R [A-Z]*-[0-9]*
于 2013-03-19T13:34:32.037 に答える