を文字列を送信する際にこれが私のコードで倍増します:^バッチスクリプトで機能するpararmeterとして
set var1="`netsh int ipv4 show interface ^| findstr /I Network`"
call:GetEles %var1%
goto:eof
:GetEles
for /F "tokens=1 usebackq" %%F IN (%~1) do echo %%F
goto:eof
それが実行されている間、私はコマンドをチェックすると、^
が機能:GetEles
内で倍増してしまう:
for /F "token=1 usebackq" %%F IN (`netsh int ipv4 show interface ^^| findstr /I Network`) do echo %%F
^
が2倍になってしまったので、私のスクリプトが失敗しました。どのように解決できますか?
+1ですが、このコマンドが第2の解析フェーズを開始するので、 'call'は'%var1% '変数を展開します。参照内の '%〜1'引数は1回だけ展開されます。証明: 'echo echo %% var1 %%'は、 'var1'の値を返します(私が間違っていた場合は、'%var1% 'に展開されます)... – aschipfl
技術的に私のポイントを説明していないかもしれませんがそれは私の答えのために正しいままであり、_私の答えはそれに応じて更新されました。 – Compo