Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Хочу все знать (http://forum.oszone.net/forumdisplay.php?f=23)
-   -   Помогите подправить скрипт! (http://forum.oszone.net/showthread.php?t=249529)

zga029 19-12-2012 16:08 2048953

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

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 2049720

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 2050212

Спасибо за помощь, очень помогли!

apozlevich 21-12-2012 09:51 2050215

zga029, на форуме для этого есть специальная кнопка Полезное сообщение ;)


Время: 07:37.

Время: 07:37.
© OSzone.net 2001-