我正在研究一种谜题类型。
我需要找到随机代码(重复字符加农炮)并将其导出到.txt文件。
下面是我的代码,批处理文件类型:
@echo off
call :scramble a b c d e f g h i j k l m n o p q r s t u v w x y z 1 2 3 4 5 6 7 8 9
goto :output
:scramble
set "scrambled%random%=%1"
shift
if not "%~1"=="" goto :scramble
for /f "tokens=1,* delims==" %%a in ('set scrambled') do set /p "=%%b "<nul
:output
echo "Still In Development, please contact the Admin on 0405789077.">>
enigmacodes.txt
pause
随时提出更多要求,并乐于提出建议。
答案 0 :(得分:1)
不是使用set /p
来输出到没有cr / lf的屏幕,
放入变量中,并将变量回显到输出文件中。
还需要初始化已加扰的变量。
您应该防止运行代码流到子例程,
因为批处理本身不会分开。
将子标题重新排列到最后会保存一个标签并转到。
:: Q:\Test\2018\07\31\SO_51609078.cmd
@echo off & setlocal
:: initialize var scrambled
for /f "delims==" %%a in ('set scrambled 2^>Nul') do set "%%a="
call :scramble a b c d e f g h i j k l m n o p q r s t u v w x y z 1 2 3 4 5 6 7 8 9
echo "Still In Development, please contact the Admin on 0405789077."
Echo=%scrambled%
>> enigmacodes.txt Echo=%scrambled%
pause
Goto :Eof
:scramble
set "scrambled[%random%]=%1"
shift
if not "%~1"=="" goto :scramble
for /f "tokens=1,* delims==" %%a in ('set scrambled[') do call set "scrambled=%%scrambled%% %%b"
Set scrambled=%scrambled:~1%