igor_andreev
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору ViSiToR Цитата: Переключатель наверно смогу сделать сам, если узнаю как включать/отключать сеть, а также как получить текущее состояние (вкл. или выкл.). | cnic.exe в шапке, в полезных утилитах. Немного сволочная программка оказалась, nnCron у меня ее скрытно запускал, и я все не мог понять, чего она на моих компах и дома и на работе работает, а на бухгалтерско-секретарских нет. Винда оказалось у меня английская повезде . Дабы на русской XP cnic работала - надо переименовать "Беспроводное сетевое соединение", "Подключение по локальной сети" в название английскими буквами, вроде "Wireless Network Connection", "Local Area Connection" и т.п. newhome Цитата: Я понимаю эту задачу можно решить, присваивая каждому файлу имя %f_number%%filename%. А потом читать из файла или вывода команды: for %%i in (`команда`) do (set file) if %file%==1 (set press_key=1) & (set fname=%filename%) .... ну что то в этом духе. Просто не знаю как это сделать. Может подкините идею? | Подкидываю. Делал что-то когда-то себе, ищет в текущей папке файлы *.txt и выводит в меню. Поскольку делал себе, то соответственно работает с английскими названиями без пробелов и спецсимволов, у мну других нет. Но с присваиванием каждому файлу в папке номера все понятно надеюсь, остальное переделай под свои нужды. Код: @ECHO OFF & SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION :: Начинаем писать меню :MENU ECHO.Select your choice: ECHO.******************* :: устанавливаем счетчик файлов *.txt на ноль SET /A "FILES_COUNT=0" :: Каждый файл *.txt в папке заносим :: в переменную FILE[FILES_COUNT], выводим его в меню на экран :: и увеличиваем общий счетчик FILES_COUNT на единицу FOR %%A IN (*.TXT) DO ( SET /A "FILES_COUNT+=1" SET "FILE!FILES_COUNT!=%%A" ECHO.!FILES_COUNT!. %%A ) :: Пишем окончание меню ECHO.Q. - Quit ECHO.******************* :: Аброботка ашыпки :: если FILES_COUNT равен нулю, значит нет *.txt файлов в текущей папке IF %FILES_COUNT% EQU 0 ( CLS ECHO.Files not found ECHO.Press any key to exit... PAUSE>NUL EXIT ) :: Если счетчик FILES_COUNT больше нуля, стало быть какой-то файл :: *.txt есть и его можно использовать. :: Посему просим ввести цифру или букву Q SET /P ASK_YOU=Write here your choice above and press [Enter]: :: Если ввели букву Q или q то выходим из батника IF /I %ASK_YOU% EQU Q ( CLS ECHO.Bye... ECHO.Press any key to exit... PAUSE>NUL EXIT ) :: Если ввели какую-то цифирьку ? и такой FILE? :: существует, то вызываем метку :MY_LABEL [цифра], если такого файла :: нет - возвращаемся в меню IF EXIST "!FILE%ASK_YOU%!" ( CLS CALL :MY_LABEL "!FILE%ASK_YOU%!" ) ELSE ( CLS FOR /L %%Z IN (1,1,!FILES_COUNT!) DO SET "FILE%%Z=" GOTO :MENU ) :: Если не цифра от <1> до <счетчик файлов> и не буква Q - значит :: %USERNAME% туповат или клавишей промахнулся, возвращаемся в меню. :: Соответственно там, в начале меню FILES_COUNT опять сбрасывается :: на ноль и переменные FILE[num] опять переопределятся CLS & GOTO :MENU :: Это сама метка, которую мы вызвали, передав ей какую-то цифру :MY_LABEL NOTEPAD "%~1" EXIT | |