Войти

Показать полную графическую версию : Нахождение и выбор папки и её копирование


ikif
28-12-2010, 14:31
Здравствуйте.

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

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

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

gora
30-12-2010, 12:01
@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%"




© OSzone.net 2001-2012