Я знайшов сценарій відкриття випадкових файлів . Я змінив одне, і тепер він відкриває випадковий файл із C: / Чи може хтось мені сказати, як його змінити, щоб відкрити випадковий файл із C: / та всіх папок?
@echo off & setlocal
:: start of main
rem Set your path here:
set "workDir=C:\"
rem Read the %random%, two times is'nt a mistake! Why? Ask Bill.
rem In fact at the first time %random% is nearly the same.
@set /a "rdm=%random%"
set /a "rdm=%random%"
rem Push to
pushd "%workDir%"
rem Count all files in your path. (dir with /b shows only the filenames)
set /a "counter=0"
for /f "delims=" %%i in ('dir /b ^|find "."') do call :sub1
rem This function gives a value from 1 to upper bound of files
set /a "rdNum=(%rdm%*%counter%/32767)+1"
rem Start a random file
set /a "counter=0"
for /f "delims=" %%i in ('dir /b ^|find "."') do set "fileName=%%i" &call :sub2
rem Pop back from your path.
popd "%workDir%"
goto :eof
:: end of main
:: start of sub1
:sub1
rem For each found file set counter + 1.
set /a "counter+=1"
goto :eof
:: end of sub1
:: start of sub2
:sub2
rem 1st: count again,
rem 2nd: if counted number equals random number then start the file.
set /a "counter+=1"
if %counter%==%rdNum% (start "" "%fileName%")
goto :eof
:: end of sub2
:: -snap--- end of batch
Чи повинен кожен файл мати однакові шанси на вибір, чи це нормально, якщо більш імовірні файли у дереві каталогів?
—
Ben N
Так, кожен файл повинен мати однакові шанси на відкриття.
—
k073l
dir /s
- /s
Відображає файли у вказаному каталозі та всіх підкаталогах.
Привіт! Оскільки ми не є сервісом написання сценаріїв, ми потребуємо, щоб ви надали більш детальну інформацію про те, де ви застрягли, поза кодом, який ви скопіювали звідкись. Тож куди ви точно застряєте, впроваджуючи зміни, про які ви просите? Що ви вже намагалися, і які були результати цих спроб? Без цієї інформації та з вашої сторони це запитання набере голос і може бути закритим як "занадто широкий".
—
Ƭᴇcʜιᴇ007