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

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

Модерирует : gyra, Maz

Maz (19-09-2020 13:36): Командная строка, батники, сценарии (bat, cmd) Часть 6  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

   

cchameleone



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Командная строка, батники\сценарии (bat, cmd)
(часть 1) (часть 2) (часть 3) (часть 4)
Вопросы, задачи и их решения по работе с командной строкой, файлами, а также сопутствующие ссылки.

Важно: копируя батник через буфер обмена из форума не забывайте удалять пробелы в конце каждой строки, т.к. в некоторых случаях из-за этого программа будет работать неправильно!!! Чтобы не копировались концевые пробелы из форума, жмите на ссылку "Редактировать" в посте, и уже из редактора копируйте батник без пробелов.
 
Примечание: Большие куски кода заключайте в тэг [ more ].  

Смежные темы:
В помощь системному администратору » Автоматизация администрирования
Microsoft Windows » Сценарии Windows

Полезные ссылки:
· Из Windows XP Professional Product Documentation:
» Описание Cmd.exe » Command shell overview
» Using batch files » Using batch parameters » Using filters » Using command redirection operators
 
· Уроки bat-аники (для начинающих): первый и второй
· Курс из 19 лекций "Командная строка и сценарии Windows"
· Попов А. Командная строка и сценарии Windows (PDF). Курс лекций для начинающих
· Бокалий В. Командная строка (pdf-брошюрка в 20 страниц)
· Александров А., Дибров А. Урок bat-аники (pdf)
· Уильям Р. Станек - Командная строка Windows. Справочник администратора
 
· Скрываем консольные окна, Выполнение BAT-скриптов без вызова окна консоли
· cmdow — изменение параметров и видимости дос-окна, Статья в КОМПЬЮТЕРРАONLINE
· Набор GNU утилит для win32
· HS_Packet.7z - Пакет утилит для организации интерфейса в bat-файлах
· Использование ansi.sys
· blat — отправка почты из консоли
· Команды RunDll32
· Quick Batch File Compiler - Позволяет превратить ваш батник в независимое приложение
· Easy Batch Builder+Rus+Crack - Редактор BAT файлов.Через графический интерфейс программы вы сможете быстро конструировать пакетные файлы практически любой сложности. (В комплекте есть Лоадер созданный с помощью Sign Of Misery некоторые антивирусы обзывают его вирусом. Вам решать: ставить или не ставить) (ЗЕРКАЛО)
· Простой способ получать текущую дату всегда в одном формате (не зависит от языков и настроек) ещё и ещё
· Переход из 32-битной версии cmd.exe в 64-битную (1) (2)(3)

Всего записей: 2271 | Зарегистр. 16-10-2015 | Отправлено: 09:22 29-04-2016 | Исправлено: Maz, 08:47 26-03-2020
MihailM

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

Ну я всегда считал наоборот , до 1ой точки Это "имя файла" , остальное уже расширение . Но и допускал исключения , к примеру такого расширения как ".tar.gz" , оно же тоже двойное .. Но и и в моем случает есть тоже "двойные расширения" , как оказалось .  

Цитата:
программирование - наука точная
ну это мы знаем , особенно , если вы программируете на СИ и разновидностей языках.  
Последний ваш код надеюсь под батник ? , а то по коду не понятно , что и как - и как с ним работать.  
Вообщем спасибо , мне скорее всего надо переименовывать файл по маске , точнее удалять  по маске не нужное. Так как написал выше , у меня есть тоже двойные расширения в некоторых файлах. И по другому надо делать поиск , если же определять расширение или имя по "точки" . То есть в обратном порядке искать эту "точку" в имени файла.  
Спасибо за помощь, отклик ..  
 
 
Добавлено:

Цитата:
· Попов А. Командная строка и сценарии Windows (PDF). Курс лекций для начинающих
· Бокалий В. Командная строка (pdf-брошюрка в 20 страниц)
· Александров А., Дибров А. Урок bat-аники (pdf)  

да ссылки битые в шапке, и еще есть.

Всего записей: 2266 | Зарегистр. 19-10-2003 | Отправлено: 09:59 04-10-2018 | Исправлено: MihailM, 10:06 04-10-2018
Pasha_ZZZ



Запрет на пост
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
MihailM
Цитата:
Ну я всегда считал наоборот , до 1ой точки Это "имя файла" , остальное уже расширение . Но и допускал исключения , к примеру такого расширения как ".tar.gz" , оно же тоже двойное
Неправильно считали.
Невозможно настроить разные варианты для открытия .gz и .tar.gz - значит расширение все-таки .gz. .tar становится засширением после распаковки .gz

Всего записей: 9946 | Зарегистр. 11-03-2002 | Отправлено: 10:18 04-10-2018
MihailM

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
OFFTOP:Pasha_ZZZ, хотя да эти архивы хитрые , даже тот же WinRar открывает их дважды .  
Ладно закрыли вопрос - как выразился YuS_2
Цитата:
надо создателям таких "суперрасширенных" файлов либо по рукам надавать, либо мозг прокапать
У меня как раз есть такие тоже файлы, с "двойным расширением".  
А по теме, суть  задачи надо было удалить самое последние расширение, вообщем как то так. Ну или как написал выше - по маске , удалить "маску" из имени.

Всего записей: 2266 | Зарегистр. 19-10-2003 | Отправлено: 10:27 04-10-2018 | Исправлено: MihailM, 10:30 04-10-2018
Pasha_ZZZ



Запрет на пост
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
MihailM
Удаление расширения - легко
Цитата:
for %%a in (*.ext) do call :RenameFile "%%~a"
goto :eof
 
:RenameFile
ren %1 "%~n1"

Всего записей: 9946 | Зарегистр. 11-03-2002 | Отправлено: 10:39 04-10-2018 | Исправлено: Pasha_ZZZ, 10:39 04-10-2018
Alex_Qwerty

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Наверняка расширений немного, так что можно захардкодить:
for %e in (exe txt) do ren *.%e.%e *.

Всего записей: 2045 | Зарегистр. 09-09-2006 | Отправлено: 10:44 04-10-2018
Smitis



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

Цитата:
А по теме, суть  задачи надо было удалить самое последние расширение, вообщем как то так.

Мой последний скрипт как раз и удаляет от 2-х до 3-х лишних расширений с конца.
Т.е.
1.txt.doc.exe -> 1.txt
2.exe.dll -> 2.exe


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

Всего записей: 2350 | Зарегистр. 09-02-2003 | Отправлено: 11:01 04-10-2018
Alex_Qwerty

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

Цитата:
2.exe.dll -> 2.exe

Вредительство! >:->

Всего записей: 2045 | Зарегистр. 09-09-2006 | Отправлено: 11:27 04-10-2018
YuS_2



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

Цитата:
Последний ваш код надеюсь под батник ? , а то по коду не понятно , что и как - и как с ним работать.

run.bat

Код:
@echo off
echo Поехали...
powershell -ex bypass .\script.ps1
echo Готово!
pause

 
script.ps1 - это тот код, который написан здесь и скрипт лучше сохранить в кодировке 1251 или UTF8 with BOM

Всего записей: 3192 | Зарегистр. 03-02-2009 | Отправлено: 17:03 04-10-2018
Smitis



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

Цитата:
Вредительство! >:->

Как скажите.
3.dll.exe -> 3.dll
так лучше?


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

Всего записей: 2350 | Зарегистр. 09-02-2003 | Отправлено: 18:21 04-10-2018
MihailM

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
YuS_2, понятно , написали бы , а то как дурак батник стряпаю , а он ошибку выдает )  

Цитата:
в кодировке 1251 или UTF8 with BOM

А что как то по другому можно сохранить )) (шутка)

Цитата:
script.ps1 - это тот код
ну это понятно .  
 
Спасибо всем кто откликнулся ...

Всего записей: 2266 | Зарегистр. 19-10-2003 | Отправлено: 19:14 04-10-2018 | Исправлено: MihailM, 19:27 04-10-2018
Alex_Qwerty

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Smitis, "dir /s/b c:\*.*.exe". Если не убеждает - переименуй :-D

Всего записей: 2045 | Зарегистр. 09-09-2006 | Отправлено: 19:22 04-10-2018
Smitis



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

Цитата:
переименуй
Зачем? Вы условие задачи видели?


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

Всего записей: 2350 | Зарегистр. 09-02-2003 | Отправлено: 20:11 04-10-2018
asfasd

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите, как в батнике остановить выполнение команд на 5 секунд, а потом продолжить?
 
-----------------------------
iNNOKENTIY21
Спасибо, то что надо, ещё и несколько вариантов.

Всего записей: 162 | Зарегистр. 04-12-2017 | Отправлено: 22:19 04-10-2018 | Исправлено: asfasd, 07:37 05-10-2018
iNNOKENTIY21



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

Цитата:
Подскажите, как в батнике остановить выполнение команд на 5 секунд, а потом продолжить?


Код:
ping 127.0.0.1 -n 6 > nul
CHOICE /D Y /T 5
timeout 5
powershell Start-Sleep -s 5

Всего записей: 2973 | Зарегистр. 16-08-2012 | Отправлено: 02:18 05-10-2018 | Исправлено: iNNOKENTIY21, 02:18 05-10-2018
Smitis



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

Цитата:
Подскажите, как в батнике остановить выполнение команд на 5 секунд, а потом продолжить?  


Код:
@if (true == false) @end /*
@echo off
%SystemRoot%\System32\cscript.exe //nologo //e:jscript "%~f0" 5000
exit /b
*/
WScript.Sleep(WScript.Arguments(0));

 


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

Всего записей: 2350 | Зарегистр. 09-02-2003 | Отправлено: 10:01 05-10-2018
syrenium

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите, пожалуйста, как с помощью командной строки создать задание планировщика с несколькими триггерами?
Например, чтобы запускался файл x.bat при включении компьютера, а затем каждый 10 минут.

Всего записей: 472 | Зарегистр. 07-12-2015 | Отправлено: 23:38 05-10-2018
m00slim25



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Smitis
https://ss64.com/nt/timeout.html
 
syrenium
https://ss64.com/nt/schtasks.html
 
Добавлено:
Подскажите, пажалста, способ(ы) получения файла(ов) по http(s) из консольного окна (пакетного файла) встроенными средствами Windows, без использования сторонних программ типа wget. Если таковые вообще существуют. Спасибо.

Всего записей: 876 | Зарегистр. 30-05-2006 | Отправлено: 04:15 06-10-2018 | Исправлено: m00slim25, 04:25 06-10-2018
syrenium

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
m00slim25
Не нашел, "ткните", пожалуйста.
Так можно создать триггер при запуске компьютера:

Код:
schtasks /create /sc onstart /tn "XXX" /tr "\"%~dp0XXX.bat"\" /ru System

Так - чтобы он запускался каждые 10 минут:

Код:
schtasks /create /sc minute /mo 10 /tn "XXX" /tr "\"%~dp0XXX.bat"\" /ru System

А как их совместить в одной команде? Чтобы В одной задаче было 2 триггера?

Всего записей: 472 | Зарегистр. 07-12-2015 | Отправлено: 10:07 06-10-2018 | Исправлено: syrenium, 10:07 06-10-2018
Pasha_ZZZ



Запрет на пост
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
m00slim25
Цитата:
способ(ы) получения файла(ов) по http(s) из консольного окна (пакетного файла) встроенными средствами Windows, без использования сторонних программ типа wget
VBS/JS, PowerShell. Еще BITSAdmin:
Цитата:
bitsadmin /transfer JOB_NAME /priority high <URL> <drive:\path\to\file\with\filename>

Всего записей: 9946 | Зарегистр. 11-03-2002 | Отправлено: 10:21 06-10-2018
m00slim25



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
syrenium
1. Импортировать заранее созданное и экспортированное в GUI.
2. Через обращение из .cmd файла к powershell.
 
Интерфейс консольной команды не поддерживает множественные триггеры и действия. Это ещё с Vista известно.
 
ЗЫ. А чем вам создание 2ух заданий с разными именами не угодило?

Всего записей: 876 | Зарегистр. 30-05-2006 | Отправлено: 11:31 06-10-2018 | Исправлено: m00slim25, 11:32 06-10-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

Компьютерный форум Ru.Board » Компьютеры » Программы » Командная строка, батники, сценарии (bat, cmd)
Maz (19-09-2020 13:36): Командная строка, батники, сценарии (bat, cmd) Часть 6


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

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.Board
© Ru.Board 2000-2020

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru