Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Сценарии для Windows

Модерирует : KLASS, IFkO

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225

Открыть новую тему     Написать ответ в эту тему

KLASS



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Старые и смежные темы: по CMD и в Программах | по PowerShell | В помощь системному администратору | Прикладное программирование

PowerShell
Версии | Ассоциация и подпись сценариев
Сценарий для ассоциации файлов PowerShell и запуска неподписанных скриптов.
 
Прочее
Расширение возможностей
Функции
Write-Color
Output-DebugString
Провайдеры
Готовые скрипты
Полезные ссылки | Будет ли репозиторий PowerShell на ru-board?
Книги в PDF
Cheat Sheets
 

Cmd
Для перекодирования кириллицы 866<—>1251 пользуйтесь онлайн сервисом Перекодировщик кириллицы
 
Готовые решения и частые вопросы
 
Описания работы команд и символов участниками темы:
setlocal enabledelayedexpansion и переменные окружения
символы & и && в командной строке
Переменная %0
 
Полезные ссылки и утилиты

WSH (VBScript, JScript)
Программирование "удобняшек" на VBScript

Примечания:
• Большие куски кода заключайте в тэг [ more ]
• Чтобы не копировались концевые пробелы из форума, жмите на ссылку "Редактировать" в посте, и уже из редактора копируйте код без пробелов иначе сценарий может работать неправильно. Также для удаления концевых пробелов пользуйтесь скриптом от Nagual, или VBS-Скрипт-Модулем от ViSiToR.
• Сторонние консольные утилиты можно использовать только в виде готового решения и только в рамках сценариев. Никаких обсуждений и обучений работе с утилитами не предусмотрено и прямо запрещено правилами топика.
Шапка и около-темные вопросы |

Всего записей: 11058 | Зарегистр. 12-10-2001 | Отправлено: 13:40 17-02-2018 | Исправлено: YuS 2, 08:24 19-06-2021
YuS_2



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
2as

Цитата:
А вот то что скипты написанные и отлаженные в старших версиях не будут работать в младших

Тут небольшое уточнение: не всегда будут, но в большинстве случаев вполне себе... хотя, тут, всё же, лучше уточнять именно версии.
 
ЗЫ А вообще, плиз, народ не начинайте холивары на ровном месте, что лучше, что хуже... здесь же тема не для этого, есть специальный топик для обсуждений.
Да и на спрашивающего зачем "нападать"? Ну, хочет человек утилитку (а консоль cmd большей частью из утилит и состоит), подскажите если знаете, а если нет, то предложите решения в том или ином варианте, а дальше пусть уже сам выбирает, что ему больше подходит. Захочет повершел установить - спросит, не захочет - его решение.

Всего записей: 3218 | Зарегистр. 03-02-2009 | Отправлено: 07:44 28-02-2018
2as

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
YuS_2

Цитата:
Тут небольшое уточнение:

Да, конечно.
 
DCT
Я могу написать вам утилитку под ваши требования и нужды - если есть необходимость и желание - обращайтесь в личку. (Для обсуждения тех. задания и прочих сопутствующих вопросов).

Всего записей: 3482 | Зарегистр. 09-09-2003 | Отправлено: 07:48 28-02-2018 | Исправлено: 2as, 07:51 28-02-2018
NIKZZZZ



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
2as

Цитата:
А в плане инструмента "для здесь и сейчас" PowerShell универсальнее и предпочтительнее bat и cmd  

Вообще-то всегда считал, что задачи надо решать напрямую, не используя посредников, типа .NET Framework, что по сути и батник делает.
Ну, уж о тормозах, вообще говорить нечего, простой запуск PowerShell уже занимает несколько секунд.

Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 08:15 28-02-2018
KLASS



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Народ, убедительно прошу, в теме обсуждаем\предлагаем решения поставленной задачи
Все разговоры о:
1. что лучше
2. что хуже
3. что тормоз
4. личные разборки
5. зачем темы объединили
и подобную муть, обсуждаем в отведенной теме Шапка и около-темные вопросы
Предлагайте любые решения задачи относительно темы.
Мля, DCT, например, причем тут Cygwin, если раздел Windows.
Надеюсь на понимание

Всего записей: 11058 | Зарегистр. 12-10-2001 | Отправлено: 08:35 28-02-2018
2as

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
NIKZZZZ

Цитата:
задачи надо решать напрямую, не используя посредников

мы так можем далеко в дебри залезть, даже просто пытаясь прийти к общему мнению, что считать посредником )))
Дабы избежать этого "сценария" я и написал выше:

Цитата:
лучшее - это всегда то, чем лучше владеешь...

 
далее ни про что, потому перенес в озвученную тему




Там Шапка и около-темные вопросы обсудили, зашли в шапку и исправили

Всего записей: 3482 | Зарегистр. 09-09-2003 | Отправлено: 08:39 28-02-2018 | Исправлено: KLASS, 09:02 28-02-2018
Smitis



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
DCT

Цитата:
Подскажите пожалуйста, есть ли утилитка, позволяющая в батнике ждать заданное количество минут (а не секунд, как все обычные утилиты; пересчитывать в секунды лень и легко спросонку ошибиться, что может быть чревато ошибками).

Гибридный CMD+JS (запускается как cmd)

Код:
@if (true == false) @end /*
::wait [кол-во минут]
@%SystemRoot%\System32\cscript.exe //nologo //e:jscript "%~f0" %*
@goto :eof
*/
WScript.Sleep(Number(WScript.Arguments(0))*60000);

 
2as

Цитата:
Здесь про сценарии речь ведут - за утилитами в другое место.  

Уж послал, так послал (С) Только, интересно, куда?

----------
Разум когда-нибудь победит

Всего записей: 3179 | Зарегистр. 09-02-2003 | Отправлено: 10:05 28-02-2018 | Исправлено: Smitis, 10:14 28-02-2018
YuS_2



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
KLASS

Цитата:
например, причем тут Cygwin, если раздел Windows.

А, хм-м-м, не понял... Cygwin - как раз, для Windows и он вполне подходит для создания консольных сценариев.  
Это ведь, в основном, портированные из никсов консольные утилиты и оболочки для Windows, которые успешно используются по отдельности, а это просто пакет таких программ.




Нет в системе Cygwin, раздел по Windows, все остальное лесом

Всего записей: 3218 | Зарегистр. 03-02-2009 | Отправлено: 10:34 28-02-2018 | Исправлено: KLASS, 10:48 28-02-2018
2as

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Smitis

Цитата:
Здесь про сценарии речь ведут - за утилитами в другое место.  
 


Цитата:
Уж послал, так послал (С) Только, интересно, куда?
 

навскидку сразу могу подсказать два варианта, ранее они были уже "озвучены":
1. Гугл (но автор запроса утверждает, что он там уже был)
2. ко мне в личку
...
Вы вправе придумать самостоятельно любой другой ... )))
 
Ах, да, был еще вариант №3 решить вопрос несколькими строчками bat-файла...
но, видимо, целью было не решить свою задачу ...

Всего записей: 3482 | Зарегистр. 09-09-2003 | Отправлено: 10:39 28-02-2018 | Исправлено: 2as, 11:48 28-02-2018
VVL99

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Пока вопрос не сменился.  
А можно использовать для ожидания такой вариант?

Код:
 
@echo off
set /a m=%1*60
set sleep=for /f "tokens=2" %%i in ('choice /t %m% /c y /n /d y') do (.)
%sleep%
pause
 

Я просто слабо понимаю всю эту механику.

----------
Гомосексуальность среди модераторов не является психическим расстройством, несмотря на синонимы этого понятия в русском языке.

Всего записей: 4158 | Зарегистр. 03-02-2011 | Отправлено: 17:57 28-02-2018
2as

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
VVL99

Цитата:
Я просто слабо понимаю всю эту механику.

А вы вообще что хотите сделать?
В cmd-файле для ожидания используется команда:
 
sleep время_ожидания_в_секундах
 
Выше обсуждалось что делать чтобы время задавать в минутах, не рассчитывая вручную для команды sleep время в секундах
 

Код:
команда1
команда2
...
командаN                                    // выполнение сценария
 
set minuts=1                                // присваиваем переменной munuts значение паузы в минутах
set /a secunds= %minuts% * 60    // переводим в секунды для команды sleep
sleep %secunds%                         // делаем паузу в 1 минуту
 
командаM                                    // продолжение выполнения сценария
командаM+1

 
 
Описание языка командных файлов, например, здесь:

Всего записей: 3482 | Зарегистр. 09-09-2003 | Отправлено: 19:02 28-02-2018 | Исправлено: 2as, 19:07 28-02-2018
YuS_2



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
VVL99

Цитата:
А можно использовать для ожидания такой вариант?

Нет, так лучше не делать:
1. Синтаксис не позволит. Точку нельзя использовать в качестве выполняющейся команды.
2. Бессмысленно так использовать choice, проще запустить timeout, к тому же, у него период ожидания можно использовать более длительный

Код:
@echo off
set "x=%~1"
if not defined x echo Not parameter&pause&exit
set /a x*=60
timeout /t %x%

Всего записей: 3218 | Зарегистр. 03-02-2009 | Отправлено: 19:14 28-02-2018 | Исправлено: YuS_2, 09:28 01-03-2018
VVL99

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
2as
Цитата:
Описание языка командных файлов, например, здесь:
Спасибо за ссылку.
 
YuS_2
Угу, я как раз нашёл такой же почти вариант.

Код:
 
@echo off
set /a m=%1*60
timeout /t %m% /nobreak >nul
pause
 

Только без проверки параметра.
Одно время пробовал варианты с пингом, но они в зависимости от наличия сети по разному работают, да и время не идеально совпадает (секунда в секунду), были неудобства.
Ладно спасибо, задача абстрактная была.

----------
Гомосексуальность среди модераторов не является психическим расстройством, несмотря на синонимы этого понятия в русском языке.

Всего записей: 4158 | Зарегистр. 03-02-2011 | Отправлено: 19:49 28-02-2018 | Исправлено: VVL99, 19:50 28-02-2018
YuS_2



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
VVL99

Цитата:
Одно время пробовал варианты с пингом, но они в зависимости от наличия сети по разному работают, да и время не идеально совпадает

Лучше pathping использовать, там время точнее будет работать, т.е. паузу можно в миллисекундах задавать. Примерно так:

Код:
>nul pathping -h 1 -p 2000 -q 1 -w 1 127.0.0.1

Всего записей: 3218 | Зарегистр. 03-02-2009 | Отправлено: 19:59 28-02-2018 | Исправлено: YuS_2, 20:02 28-02-2018
VVL99

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
YuS_2 - пост
Цитата:
Лучше pathping использовать, там время точнее будет работать, т.е. паузу можно в миллисекундах задавать. Примерно так:

Код:
pathping -h 1 -p 2000 -q 1 -w 1 127.0.0.1&gt;nul
 
О как, я чёта даже не встречал такого, работает нормально и с сетью и без.
С ноликами получилось

Код:
 
@echo off
set /a m=%1*60
pathping -h 1 -p %m%000 -q 1 -w 1 127.0.0.1>nul
pause
 

Спасибо.

----------
Гомосексуальность среди модераторов не является психическим расстройством, несмотря на синонимы этого понятия в русском языке.

Всего записей: 4158 | Зарегистр. 03-02-2011 | Отправлено: 20:09 28-02-2018 | Исправлено: VVL99, 20:10 28-02-2018
NIKZZZZ



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
VVL99
Чтобы не выпадал в ошибку в случае отсутствия параметра

Код:
set /a m=(%1-0)*60


Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 21:51 28-02-2018
DCT

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
*




Сколько уже говорить сюда не по теме

Всего записей: 792 | Зарегистр. 22-12-2005 | Отправлено: 01:28 01-03-2018 | Исправлено: KLASS, 01:34 01-03-2018
VVL99

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
NIKZZZZ - пост
Тоже кстати интересная тонкость, как бы два в одном и проверка и присвоение ноля в случае отсутствия параметра.
Спасибо.
 
Поскольку человек спрашивал про вариант со временем, решил и про такой вариант спросить.
Тут главное не забыть, что и как передаём в параметр (1:46)

Код:
 
@echo off
:wait
timeout /t 1 /nobreak >nul
if %time:~0,-6% NEQ %1 goto wait
pause
 

Опять же без проверки параметра, даже не знаю что тут лучше сделать.


----------
Гомосексуальность среди модераторов не является психическим расстройством, несмотря на синонимы этого понятия в русском языке.

Всего записей: 4158 | Зарегистр. 03-02-2011 | Отправлено: 01:45 01-03-2018 | Исправлено: VVL99, 03:14 01-03-2018
DCT

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
*




Ваше ПО, тоже стороннее идите в программы

Всего записей: 792 | Зарегистр. 22-12-2005 | Отправлено: 01:47 01-03-2018 | Исправлено: KLASS, 07:25 01-03-2018
suz191



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Добрый день!
Помогите пожалуйста создать ярлык с относительными путями  
т.е. Z:\BROWSER\GiperFox\BASILISK\Profiles = %~d0
 
Объект: Z:\BROWSER\GiperFox\BASILISK\Profiles\hidcon.exe Z:\BROWSER\GiperFox\BASILISK\Profiles\!Clear.bat
Папка: Z:\BROWSER\GiperFox\BASILISK\Profiles\
Ярлык: Z:\BROWSER\GiperFox\BASILISK\Profiles\!Clear.lnk
 
Я не понимаю как работать с vbs  
Как можно получить такое?
 
@set @x=0; /*
@cscript /e:jscript "%~f0"
@exit */
oShell = new ActiveXObject("WScript.Shell");
myDir = oShell.CurrentDirectory;
uShortcut = oShell.CreateShortcut(myDir + "\\!Clear.lnk");
uShortcut.TargetPath = myDir + "\\hidcon.exe" myDir + "\\!Clear.bat";
uShortcut.WorkingDirectory = myDir;
uShortcut.Save();
 
Пробовал так myDir = oShell.CurrentDirectory
Но в любом случае не работает ссылка Объект: Z:\BROWSER\GiperFox\BASILISK\Profiles\hidcon.exe Z:\BROWSER\GiperFox\BASILISK\Profiles\!Clear.bat
 
Большое Спасибо за помощь!
Прошу не кидаться тапками объяснил как смог то что хочу сделать

Всего записей: 706 | Зарегистр. 17-11-2005 | Отправлено: 21:53 04-03-2018 | Исправлено: suz191, 23:18 04-03-2018
Smitis



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
suz191
Если через ярлык нужно запустить hidcon и ему передать путь к батнику, должно быть что-то типа

Код:
uShortcut.TargetPath = myDir + "\\hidcon.exe";
uShortcut.Arguments = myDir + "\\!Clear.bat";


----------
Разум когда-нибудь победит

Всего записей: 3179 | Зарегистр. 09-02-2003 | Отправлено: 23:36 04-03-2018
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225

Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Сценарии для Windows


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru