PDA

Показать полную графическую версию : Помогите подправить скрипт!


zga029
19-12-2012, 16:08
Скрипт для запуска файлов рандомом.
Скрипт использую для запуска рекламных роликов в случайном порядке.
Запускает файлы рандомом в том каталоге где находится он сам, но есть один минус, запускает сам себя, в итоге много окон открывает.
Как заставить этот скрипт запускать файлы из указанного каталога?
Подскажите где надо прописать путь к каталогу, заранее благодарен!

setlocal EnableDelayedExpansion
set i=0
for %%f in (*.*) do (
set file!i!=%%f
set /a i+=1
)
set /a n=%random% %% %i%
set file=!file%n%!
start "" "%file%"

apozlevich
20-12-2012, 15:29
zga029, в Windows есть такое понятие, как Working Dir. Надо запускать сам скрипт командой
start /d "путь к папке" "скрипт"
(также рабочую папку можно прописать в свойствах ярлыка)

Так же, можно менять текущий каталог прямо в скрипте командой cd (или cd /d, если надо сменить диск), но если надо будет вернуться к предыдущему каталогу, надо использовать pushd/popd:
pushd "путь к папке"
/код, который будет выполнен в другой папке/
popd
/код, который будет выполнен в начальной папке/

Ну а если хотите явно указать каталог в коде, тогда, судя по всему, так
setlocal EnableDelayedExpansion
set i=0
for %%f in (путь\*.*) do (
set file!i!=%%f
set /a i+=1
)
set /a n=%random% %% %i%
set file=!file%n%!
start "" "%file%"


Кстати, на форуме есть раздел, посвященный языку BAT, логичней было бы спрашивать там. Но, как всегда, сначала лучше пользоваться поиском :)

zga029
21-12-2012, 09:47
Спасибо за помощь, очень помогли!

apozlevich
21-12-2012, 09:51
zga029, на форуме для этого есть специальная кнопка http://forum.oszone.net/images/smilies/up.gif Полезное сообщение ;)




© OSzone.net 2001-2012