我无法让以下事情发挥作用。我有一个 400 行的文本文件,并且还在不断增长。我需要一个批处理脚本,从该文件中选择一个随机行。
我尝试修改一些执行随机化的代码,但有时它会选择大于 400 的数字,并且脚本会返回错误:
set "file=C:\Users\User\Desktop\resolutions.txt"
for /f %%N in ('findstr "." "%file%"^|find /c /v ""') do set lines=%%N
set /a "iterations=%random% %% 1 + 1"
set /a randomfixed = %random% * %Lines% / 32767 + 1
for /f "skip=%randomfixed% tokens=* delims=" %%j IN (C:\Users\User\Desktop\useragents.txt) do (
set /a N+=1
set var!N!=%%j
)
@echo %var1%
我想有更简单的方法来处理这个问题吗?任何帮助表示赞赏!
尝试这个:
@echo off &setlocal
set /a count=0
for /f "tokens=1delims=:" %%i in ('findstr /n "^" "file.txt"') do set /a count=%%i
set /a rd=%random%%%count
if %rd% equ 0 (set "skip=") else set "skip=skip=%rd%"
set "found="
for /f "%skip%tokens=1*delims=:" %%i in ('findstr /n "^" "file.txt"') do if not defined found set "found=%%i"&set "var=%%j"
echo.random line %found%: %var%
endlocal
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)