1

Windows コマンド プロンプト スクリプトを使用して、さまざまな .txt ファイルから値を読み取ります。最初は機能しますが、後で配列が空のように見えます。

分析.bat:

@echo off
setlocal EnableDelayedExpansion
set ID=P8
set comptype=Link
set pattern=(700 710 720 730 740 750 760 770 780 790 ) 

set n=0
for %%i in %pattern% do (
set j=0
for /f "tokens=1-5" %%a in (.\results\%%i.txt) do (
  if %%a==%comptype% if %%b==Results (set t=%%d)
  if %%a==%ID% (
  set data[%n%][%j%]=%%b
  echo !data[%n%][%j%]!                      <-- This is working
  set /a j=!j!+1 )
)
set /a n=!n!+1
)

for /l %%o in (0, 1, %n%) do (
for /l %%k in (0, 1, %j%) do (
echo %data[%%o][%%k]%                        <-- This is not working
))

2 番目のエコーでは、「ECHO is off.」と出力されるだけで、その時点で変数が空であると思われます。「データ」の展開の遅れと何か関係があるのでしょうか? を使用して!2 番目の echo の % の代わりに何も変更しません。最後の 2 つの for ループの前後の EndLocal も役に立ちません。

4

1 に答える 1

1

これを試して:

set "data[!n!][!j!]=%%b"
...
...
echo !data[%%o][%%k]!
于 2013-05-06T11:20:28.650 に答える