CMD-从文件TSV导入字符串 你好 我几乎没有TSV文件,也没有什么问题

CMD-从文件TSV导入字符串 你好 我几乎没有TSV文件,也没有什么问题,cmd,Cmd,在文件内部,它看起来像这样: _ID Slot Type Mod Base Val Req Str 0 Chest Mag 5 5 5 1 "robe" 1 Chest Lig 5 5 5 1 "chest" 2 Chest Med 5 5 5 1 "chest"

在文件内部,它看起来像这样:

 _ID    Slot    Type    Mod   Base  Val Req   Str
 0     Chest    Mag      5     5     5   1  "robe"
 1     Chest    Lig      5     5     5   1  "chest"
 2     Chest    Med      5     5     5   1  "chest"
 3     Chest    Hea      5     5     5   1  "plate"
第一次我使用

setlocal EnableDelayedExpansion
set "cmd=findstr /R /N "^^" Pref.tsv | find /C ":""
for /f %%p in ('!cmd!') do set Prefe=(%%p-1)
这一行很好用,但是当我尝试使用

set /a Pref_rand=(%RANDOM%*%%Prefe/32768)
它抛出“缺少操作数”(随机选取行范围内的数字)

下一步,我想问一些行是否被

for /F "delims=TAB" %s in (Pref.tsv) do @echo %s
例如,在文件中,它是:

12  Boots   Mag 5   5   5   1   "shoes"
cmd显示
12
第1行也仅显示

_ID   Slot

并且某些行显示正确。

谢谢您的帮助和时间。

您在这里有两个错误,首先在计算
Prefe
时缺少
/a
,然后检索其值的语法是
%Prefe%
,而不是
%Prefe

此代码应适用于:

setlocal EnableDelayedExpansion
set "cmd=findstr /R /N "^^" Pref.tsv | find /C ":""
for /f %%p in ('!cmd!') do set /a Prefe=(%%p-1)

echo %Prefe%

set /a Pref_rand=(%RANDOM%*%Prefe%/32768)

echo %Pref_rand%