你好,
我的 TSV 文件很少,问题也很少
在文件中,它看起来像这样:
_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
也只显示第一行
_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%