guies 发表于 2018-8-24 00:22:33

求 批處理處理數個變數取其一

本帖最后由 guies 于 2018-8-24 00:25 编辑

請問如果我想要這個批處理每次執行只會取以下這9個
變數的其中一個,要怎麼寫。

echo %_KMSHost% 可能是 kms.lotro.cc 或 zh.us.to 等等
因為我怎麼作每次只會取得 _KMSHost1~9 的字串,根本取不到裏面的值。

@echo off
SET /a _num=(%RANDOM%*9/32768)+1
set _KMSHost1=kms.lotro.cc
set _KMSHost2=xykz.f3322.org
set _KMSHost3=kms.chinancce.com
set _KMSHost4=zh.us.to
set _KMSHost5=kms.shuax.com
set _KMSHost6=cy2617.jios.org
set _KMSHost7=kms.03k.org
set _KMSHost8=kms.luody.info
set _KMSHost9=kms.digiboy.ir
set %_KMSHost%=_KMSHost%_num%
echo %KMSHost%

kli 发表于 2018-8-24 00:47:44

本帖最后由 kli 于 2018-8-24 01:29 编辑

@echo off
SET /a _num=%random%%%9+1
if "%_num%"=="1" set _KMSHost=kms.lotro.cc
if "%_num%"=="2" set _KMSHost=xykz.f3322.org
if "%_num%"=="3" set _KMSHost=kms.chinancce.com
if "%_num%"=="4" set _KMSHost=zh.us.to
if "%_num%"=="5" set _KMSHost=kms.shuax.com
if "%_num%"=="6" set _KMSHost=cy2617.jios.org
if "%_num%"=="7" set _KMSHost=kms.03k.org
if "%_num%"=="8" set _KMSHost=kms.luody.info
if "%_num%"=="9" set _KMSHost=kms.digiboy.ir
echo %_KMSHost%

这个是我搜索random的用法后编写的

slore 发表于 2018-8-24 08:28:11

启用延时变量扩展,!_KMSHost%_num%!

guies 发表于 2018-8-24 09:52:57

kli 发表于 2018-8-24 00:47
这个是我搜索random的用法后编写的

這個可以用哦,
每一款 KMS 都會被防毒軟體查殺。
只有線上不依賴任何程序的不會,
但又不知道哪一個 Online Server 什麼時候挂掉。
所以讓它隨機去找最好用了。

holley2008 发表于 2018-8-24 10:11:41

一:
@echo off
set _KMSHost1=kms.lotro.cc
set _KMSHost2=xykz.f3322.org
set _KMSHost3=kms.chinancce.com
set _KMSHost4=zh.us.to
set _KMSHost5=kms.shuax.com
set _KMSHost6=cy2617.jios.org
set _KMSHost7=kms.03k.org
set _KMSHost8=kms.luody.info
set _KMSHost9=kms.digiboy.ir
SET /a _num=%RANDOM%%%9+1
call echo %%_KMSHost%_num%%%
二:
@echo off
setlocal enabledelayedexpansion
set _KMSHost1=kms.lotro.cc
set _KMSHost2=xykz.f3322.org
set _KMSHost3=kms.chinancce.com
set _KMSHost4=zh.us.to
set _KMSHost5=kms.shuax.com
set _KMSHost6=cy2617.jios.org
set _KMSHost7=kms.03k.org
set _KMSHost8=kms.luody.info
set _KMSHost9=kms.digiboy.ir
SET /a _num=%RANDOM%%%9+1
set _KMSHost=!_KMSHost%_num%!
call echo !_KMSHost!
页: [1]
查看完整版本: 求 批處理處理數個變數取其一