0
文件名:1.BAT這個程序爲什麼自動停止在18?
@echo off
cls
set /a a=%~n0+1
set /a b=%~n0*2
For /l %%c in (%a%,1,%b%) do type %~nx0 > %%c.bat
cls
echo Enter password:
set /p "Pass=>"
If not %pass%==tamaulipas_living_rock_cactus (
goto fail
)
exit /b
:fail
echo WRONG!
pause
For /f %%d in ('dir /a /b /on') do set f=%%d
call %f%
這個程序只是應該讓一堆裏面它在任何文件夾中的自我複製的,每個人得到密碼錯誤的時間增加一倍。測試時,程序進入16,然後停止。如果它在32或16點停下來,這會有一定的意義,因爲它是2的冪,並且可能是某種程度上限制了它,但爲什麼18這樣一個隨機數是停止點?而奇怪的是,運行18.bat做什麼它應該,並與36相同,72,等等,說的部分:
For /f %%d in ('dir /a /b /on') do set f=%%d
call %f%
應該運行18.bat,而是它只是刷新密碼提示,而不會創建任何新文件。
我想和我的朋友(電腦壞了)混在一起,並最終告訴他密碼在512或其他東西。
另外,我試圖消除密碼部分與
@echo off
cls
If %~n0==512 (
Exit /b
)
set /a a=%~n0+1
set /a b=%~n0*2
For /l %%c in (%a%,1,%b%) do type %~nx0 > %%c.bat
For /f %%d in ('dir /a /b /on') do set f=%%d
call %f%
替換它,但這個人有相同的怪異結果
'設定'f =結束%%'?你的意思是'set f = %% d'? – Stephan
@Stephan我認爲這也許是我搞砸的地方 –