Я почесываю голову более недели на этом. Возникает вопрос:Пакет для случайного копирования шрифтов из одной директории в другую
У меня есть каталог с большим количеством шрифтов на моем рабочем столе, и я хочу скопировать случайные шрифты автоматически из каталога в каталог системных окон Windows. Кроме того, я хотел бы установить некоторые значения «from» и «to» в пакетный файл о том, сколько шрифтов будет скопировано, например, от 50 до 100. Более того, некоторые шрифты в каталоге на моем рабочем столе уже существуют в каталоге системных шрифтов Windows, поэтому они должны быть автоматически перезаписаны или пропущены. Пример:
@echo off
setlocal EnableDelayedExpansion
cd C:\1
set n=0
for %%f in (*.*) do (
set /A n+=1
set "file[!n!]=%%f"
)
set /A "rand=(n*%random%)/32768+1"
copy "!file[%rand%]!" C:\2
Однако этот сценарий будет копировать только один файл случайным образом из каталога «1» на C в папку «2». Поэтому необходимо установить как-то ряд файлов (50-100), которые необходимо скопировать, и решить эту проблему с перезаписью/пропуском, если шрифт существует в моем системном каталоге шрифтов Windows.
После нескольких часов экспериментов сценарий способен копировать случайные файлы из произвольных каталогов внутри определенного места в другое. Однако проблема в том, что ... очень медленно копировать 30 файлов. Может быть, кто-то может помочь мне хотя бы оптимизировать его? ;)
@echo off
setlocal EnableExtensions EnableDelayedExpansion
:loop
pushd "C:\1"
:: Enumerate Files
set "xCount=0"
for /r %%A in (*.*) do if exist "%%~A" set /a "xCount+=1"
:: Select a Random File.
set /a "xIndex=%Random% %% %xCount%"
:: Find an Copy that File
set "xTally=0"
for /r %%A in (*.*) do if exist "%%~A" (
if "!xTally!" EQU "%xIndex%" (
xcopy "%%~fA" "C:\2" /Y
goto End
)
set /a "xTally+=1"
)
:End
popd
set /a executecounter=%executecounter%+1
if "%executecounter%"=="30" goto done
goto loop
:done
endlocal
Это вопрос программирования? Добавьте соответствующие теги. – LittlePanda
И покажите нам, что вы пробовали до сих пор. – SomethingDark