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

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Нахождение и выбор папки и её копирование (http://forum.oszone.net/showthread.php?t=195229)

ikif 28-12-2010 14:31 1576277

Нахождение и выбор папки и её копирование
 
Здравствуйте.

У меня есть задачка, но мне не хватает опыта пока.

Существует папка в которой множество папок с именани версий (1.0.4.9 ,1.0.5 , 1.0.5.1, и т.д. ). Эти папки добавляются кем то, по мере поступления новой версии.
Хотелось , что бы , названия всех папок рапечатывались и спрашивалось , какую версию мне надо запустить : "Ввести её номер или интер для запуска последней" .
Выбор последней версии по нажатию интера , важно.
После выбора папки (версии) , скопировать её на С:/программа и от туда запустить один .ехе.

Сложно ли это реализовать ? И может ли кто помочь ?
Заранее огромное спасибо.

gora 30-12-2010 12:01 1577649

Код:

@Echo Off
:: кодировка файла кириллица DOS (866)
SetLocal EnableDelayedExpansion
Title Выбор версии
:: папка с разными версиями
Set folder=e:\Temp\1
:: папка назначения
Set out=e:\Temp\2
:: имя запускаемого файла в папке назначения
Set exefile=FileExe.exe

:_loop
Cls
Set choice=
Echo ---------------------------------
Echo Пожалуйста, выберите версию^^!
Echo ---------------------------------
Set cnt=0
For /F "UseBackQ Delims=" %%i In (`Dir "%folder%" /B /ON 2^>Nul`) Do (
        Set /a cnt+=1
        Set l!cnt!=%%i
        echo !cnt! - %%i
)
Set /p choice=Ваш выбор:
If #%choice%==# (
        Set sf=!l%cnt%!
) Else (
        If "%choice%" GTR "%cnt%" Echo Неверный выбор, повторите...&Ping -n 5 localhost>Nul& GoTo :_loop
        For /L %%i In (1,1,%cnt%) Do If #%choice%==#%%i Set sf=!l%%i!
)
xCopy "%folder%\%sf%\*" "%out%" /E /Y /I >Nul
Start "" "%out%\%exefile%"



Время: 00:47.

Время: 00:47.
© OSzone.net 2001-